读书人

比较有难度的SQL语句 当场给分~

发布时间: 2012-01-10 21:26:50 作者: rapoo

求一个比较有难度的SQL语句 当场给分~~
A id title
1 abc
2 def
3 cds

B id key
1 a
2 d
3 g

现在要查出A中title中所有含有key字段的信息 如:如果是a 就查询到
1 abc
如果是d 查询到:
1 def
2 cds

这种情况sql语句怎么写?

[解决办法]
create table A ( id int, title varchar(10))
insert A
select 1, 'abc ' union all
select 2, 'def ' union all
select 3, 'cds '

create table B ( id int, skey varchar(10))
insert B
select 1, 'a ' union all
select 2, 'd ' union all
select 3, 'g '

select B.skey,A.* from B,A where charindex(B.skey,A.title)> 0

drop table A
drop table B
[解决办法]
paoluo(一天到晚游泳的鱼) ( ) 信誉:100 2007-07-18 14:29:05 得分: 0


意思?


Select A.* From A Inner Join B On A.title Like '% ' + B.[key] + '% ' Where A.[key] = 'a '
Select A.* From A Inner Join B On A.title Like '% ' + B.[key] + '% ' Where A.[key] = 'd '
====================================================
正解```这样也可以````
Select A.* From A Inner Join B On A.title Like '% ' + B.[key] + '% '



[解决办法]
delete a from tableA as a
inner join tableB as b on charindex(b.[key],a.title) > 0
[解决办法]
或者

Delete A From A Inner Join B On CharIndex(B.[key], A.title) > 0 Where A.[key] = 'a '
Delete A From A Inner Join B On CharIndex(B.[key], A.title) > 0 Where A.[key] = 'd '

读书人网 >SQL Server

热点推荐