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 關注
- 623 瀏覽
添加回答
舉報