9 回答
TA贡献1860条经验 获得超8个赞
这是一个合并行的问题:
SqlServer的解决方案:
select username,
courseids = STUFF((select ','+courseid from users where username = U.username FOR XML PATH(' '),1,1,''),
courses = STUFF((select ','+course from users where course= U.courseFOR XML PATH(' '),1,1,'') from users U group by users;
TA贡献1804条经验 获得超2个赞
select * from users where course in ('广告设计组')
或者
select * from users where courseid in (1)
难道不行?
TA贡献1852条经验 获得超7个赞
是不是只有这2中组呢,如果是的话,在选择2个的时候直接传一个特殊的值,然后存储过程判断,如果是特殊的值就
select * from users
不然就判断。
TA贡献1853条经验 获得超6个赞
兄弟这事简单,你用charindex函数就可以 举个例子,比如你想要广告设计组和软件工程组,写法如下:
select * from users where charindex('1',courseid)>0 OR charindex('2',courseid)>0
这样就可以解决问题。但是接下来还要注意一点就是编号为11 也包含1,这样话,就需要个小技巧,在courseid两边分别加逗号,在查找的编号两边加引号,这样用charindex就不会有问题了
- 9 回答
- 0 关注
- 595 浏览
添加回答
举报