做了一个计算机的表tab1
--------------------------------------------------------------------------------
computerid(计算机编号 int ) computerpart(计算机配件 varchar)
1 1,2,3
5 205,100,52
--------------------------------------------------------------------------------
配件表tab2
--------------------------------------------------------------------------------
partid(计算机配件ID INT\INDEX\KEY\NOT NULL) partname(名称 varchar)
1 philips display
2 two birds keyboard
3 westdata harddisk
--------------------------------------------------------------------------------
现在我想的到计算机1的配件表,于是
我select partname from tab2 where id in (select computerpart from tab1 where id=1)
语句执行得到的结果如下
select partname from tab2 where id in ('1,2,3')
但提示不能转换INT到varchar.象这种问题该怎么处理?
--------------------------------------------------------------------------------
computerid(计算机编号 int ) computerpart(计算机配件 varchar)
1 1,2,3
5 205,100,52
--------------------------------------------------------------------------------
配件表tab2
--------------------------------------------------------------------------------
partid(计算机配件ID INT\INDEX\KEY\NOT NULL) partname(名称 varchar)
1 philips display
2 two birds keyboard
3 westdata harddisk
--------------------------------------------------------------------------------
现在我想的到计算机1的配件表,于是
我select partname from tab2 where id in (select computerpart from tab1 where id=1)
语句执行得到的结果如下
select partname from tab2 where id in ('1,2,3')
但提示不能转换INT到varchar.象这种问题该怎么处理?
where id=1 and charindex(','+rtrim(b.partid)+',',','+a.computerpart+',')>0
select partname from tab2 where charindex(+','ltrim(id)+',', ','+'1,2,3'+',')>0
computerid(计算机编号 int ) computerpart(计算机配件 int)
1 1
1 2
1 3
5 205
5 100
5 52
--------------------------------------------------------------------------------
配件表tab2
--------------------------------------------------------------------------------
partid(计算机配件ID INT\INDEX\KEY\NOT NULL) partname(名称 varchar)
1 philips display
2 two birds keyboard
3 westdata harddisk
我select partname from tab2 where id in (select computerpart from tab1 where id=1)