(1)数据表item
pro_id pro_name
1 电视
2 空调
4 冰箱
...
如何形成这样的字符串 1,2,4
(2)
字符串str1='1,2,4'
字符串str2='2,5,6'
select * from product where pro_id in (相同的值只取一个,既:1,2,4,5,6)
应该如何写?谢谢大家!
pro_id pro_name
1 电视
2 空调
4 冰箱
...
如何形成这样的字符串 1,2,4
(2)
字符串str1='1,2,4'
字符串str2='2,5,6'
select * from product where pro_id in (相同的值只取一个,既:1,2,4,5,6)
应该如何写?谢谢大家!
解决方案 »
- sql语句导入excel的问题?
- Power Designer对于asp.net开发人员有什么具体帮助?应该学到什么程度?
- 请帮我看看这个触发器为什么不能工作?
- ]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket
- 请问如何取两个表的交集?最好给个例子出来,多谢了!
- sql可以达到这种效果吗?
- Yang_(扬帆破浪) 说我的触发器不能完成批量数据插入及修改,我不明白。。。。
- 请高手指点.....赠送100分,如何将下面的SQL语句进行必要的改写,不用Join连接
- 谁知道哪里有MYSQL下载?
- SQLSe rver如何把Timestamp类型字段转换成16进制字符串?或者其它
- SQL2000 远程连接MYSQL问题
- 有关安装MSSQL2005的问题
where t2.NodeID=t1.NodeID
for xml path('')) , 1 , 1 , '') as text
from tableA
select stuff((select ','+pro_id from item for xml path('')),1,1,'')
--2
select * from product where charindex(rtrim(pro_id)+',',str1+','+str2+',')>0
--不用考虑相同只去一个,这只是条件而已,重不重复不影响结果
declare @table table (pro_id int,pro_name varchar(4))
insert into @table
select 1,'电视' union all
select 2,'空调' union all
select 4,'冰箱' union all
select 5,'钢琴'declare @str1 varchar(2000),@str2 varchar(2000)
set @str1='1,3,4';set @str2='2,4,6'SELECT * FROM @table
WHERE CHARINDEX(','+CAST(pro_id AS VARCHAR(4))+',',','+@str1+',')>0
or CHARINDEX(','+CAST(pro_id AS VARCHAR(4))+',',','+@str2+',')>0
/*
pro_id pro_name
----------- --------
1 电视
2 空调
4 冰箱
*/
select * from product where charindex(rtrim(pro_id)+',',str1+','+str2+',')>0