【发布时间】:2014-08-08 23:16:17
【问题描述】:
所以我有以下表格:
Table 1
fname mi lname empid
John A Smith 1202
Bob Doe 9815
Table 2
unid empid
1015 1202
1015 9815
Table 3
unid Item
1015 ABC
1015 DEF
我的预期输出应该是(提供 unid=1015 时)
fname mi lname item
John A Smith ABC, DEF
Bob Doe
现在这将是理想的,但我非常乐意处理前端重复的 [Item] 值。
我目前的说法是:
select p.FNAME,p.MI,p.LNAME, ac.EQUIP from table1 t1, table2 t2, table3 t3
where t1.EMPID = t2.EMPID and t2.UNID = t3.UNID and t2.unid = '1015' group by t1.FNAME, t1.MI,
t1.LNAME,t3.EQUIP
对于我的一生,我无法弄清楚如何将 item 中的值(可以是 0 或更多,最大为 8)作为一个逗号分隔的字符串。我的问题是,由于站点/客户端的限制,我不能使用 SP,但这必须在一个 SQL 语句中完成。
这是在 SQL SERVER 2008 R2 上。
【问题讨论】:
-
你必须使用STUFF。
标签: sql sql-server tsql select sql-server-2008-r2