select*from 表A where (left(B,charindex(',',B)-1) notin (select C from 表D) andcharindex(',',B) >0) or (B notin (select C from 表D) andcharindex(',',B) =0)
declare@t1table
(
col varchar(20)
)
insert@t1select'aaa,bb,ccc,dd'unionallselect'bbbb,aa,ccc,dd'unionallselect'aaaa'declare@t2table
(
col varchar(20)
)
insert@t2select'aaa'unionallselect'aaaa'select
a.*from@t1 a
join@t2 b
on b.col = a.col
orcharindex(b.col+',',a.col) >0/**
aaa,bb,ccc,dd
aaaa
**/
declare@t1table
(
col varchar(20)
)
insert@t1select'aaa,bb,ccc,dd'unionallselect'bbbb,aa,ccc,dd'unionallselect'aaaa'declare@t2table
(
col varchar(20)
)
insert@t2select'aaa'unionallselect'aaaa'select
a.*from@t1 a
join@t2 b
on b.col = a.col
orcharindex(b.col+',',a.col) >0/**
aaa,bb,ccc,dd
aaaa
**/