select m.* , n.* from 表1 m , 表2 n where charindex(',' + m.bh + ',', ',' + n.bh + ',') > 0
select * from 表1 iner join 表2 on CHARINDEX(','+LTRIM(表1.bh)+',',','+表2.bh+',')>0
select * from 表1 a,表2 b where charindex(','+a.bh+',',','+b.bh+',')>0
select * from 表1 join 表2 on CHARINDEX(','+LTRIM(表1.bh)+',',','+表2.bh+',')>0
select m.* , n.* from 表1 m , 表2 n where charindex(',' + m.bh + ',', ',' + n.bh + ',') > 0select m.* , n.* from 表1 m , 表2 n where ',' + n.bh + ',' like '%,' + m.bh + ',%'
select * from 表1 a,表2 b where charindex(','+a.bh+',',','+b.bh+',')>0
用charindex好慢哦。在SQL里运行有时候还超时呢。
用charindex好慢,有时候还会运行超时
用like更慢.你的需求和设计决定了你的速度.
select * from 表1 a , 表2 b where charindex(',' + a.bh + ',', ',' + b.bh + ',') > 0
SQL codeselect*from 表1join 表2on 表2.bh like '%表1.bh%'
select m.* , n.* from 表1 m , 表2 n where charindex(',' + m.bh + ',', ',' + n.bh + ',') > 0
iner join 表2 on CHARINDEX(','+LTRIM(表1.bh)+',',','+表2.bh+',')>0
where charindex(','+a.bh+',',','+b.bh+',')>0
join 表2 on CHARINDEX(','+LTRIM(表1.bh)+',',','+表2.bh+',')>0
BH MC
AA1235 MC1
BB1111X MC2
CC2222RX MC3
CC3333B MC4
PP5555BR MC5表2:数据结构
BH BHLB
AA1235 X,RX,B,BR
BB1111 X,RX,
CC2222 B,BR,RX
CC3333 X,RX,B,BR
PP5555 B,BR,X怎样才能使表1和表2连接呢?条件是表1.BH=(表2.bh+表2.BHLB的任一个逗号分隔符为组合的字符)
这样的SQL语句怎样写呢?