两个表
表A
id(int) col1(varchar)
1 value1
2 value2
3 value3
4 value4表B
id(int) col2(varchar)
1 1,2,3
2 1,2
我要跟据表B的col2列来获取表A的记录
如我给定表B的id=1要通过连表查询得到表A id为1,2,3的记录
菜鸟求解。。
表A
id(int) col1(varchar)
1 value1
2 value2
3 value3
4 value4表B
id(int) col2(varchar)
1 1,2,3
2 1,2
我要跟据表B的col2列来获取表A的记录
如我给定表B的id=1要通过连表查询得到表A id为1,2,3的记录
菜鸟求解。。
select *
from a join b on charindex(','+ltrim(a.id)+',',','+b.col2) > 0
select * from a where charindex(','+cast(a as varchar(10))+',',(select top 1 ','+col2+',' from b where id=1) >0
select @Sql = 'select * from A where id in (''' + col2 + ''')' from B where id = 1exec(@Sql)
select *
from a join b on charindex(','+ltrim(a.id)+',',','+b.col2) > 0
where b.id = ????
可是b.id=1的时候应该有三条记录,但是现在只有两条
select *
from a join b on charindex(','+ltrim(a.id)+',',','+b.col2+',') > 0
where b.id = ????