有两个表 
test表c_id   c_gongyi  c_name
1       1,2        直
2       1,2        凹
3       2          复杂
test2表
c_id  c_name
1     橡皮
2     拉弯
现在我想查出 这样一个结果橡皮   直
橡皮   凹
拉弯   直
拉弯   凹
拉弯   复杂条件就是 test2表的 c_id 在 test表的 c_gongyi 中
不知道怎么写
希望高手指点!!!!!!!!!!!

解决方案 »

  1.   

    select a.c_name,b.c_name from test a inner join test2 b on 
    (a.c_gongyi like convert(varchar(100),b.c_id)+',%'
    or
    a.c_gongyi like '%,'+convert(varchar(100),b.c_id)+',%'
    or
    a.c_gongyi like '%,'+convert(varchar(100),b.c_id)
    or 
    a.c_gongyi =CONVERT(varchar(100),b.c_id)
    )
      

  2.   

    我只会写一半,后面的就不会了,这样:
    select t2.c_name,t1.c_name from test t1,test2 t2 where t2.c_id=
    下面的是我不会实现的,你再参考别人的
    让t2.c_id分别=t1.c_gongyi中拆分开的字符
      

  3.   

    跟上面楼上的补充
    select t2.c_name,t1.c_name from test t1,test2 t2 where CHARINDEX(CAST(t2.c_id AS VARCHAR),t1.c_gongyi)>0
      

  4.   

    楼上,如果我在TEST表的那个c_gongyi中有这样一行怎么办?
    120,121 
    你这样写会出现不该出现的数据的。