我想在SQL Server的单列中添加多个UCId。我正在使用Stuff
,但结果显示所有UC ID而不是条件。想要在由逗号分隔的SQL表的列中插入多个值,
表:
UCId UCPre UCPost UCNext (No column name)
-----------------------------------------------------------------------------------------------
UC01 User must be Registerd User is Loggined sucessfully UC02 UC03,UC05,UC02
UC02 User is Loggined sucessfully User is added UC03 UC03,UC05,UC02
UC03 File must be selected File is added NULL UC03,UC05,UC02
UC04 File is added File is deleted NULL UC03,UC05,UC02
UC05 User is Loggined sucessfully User is deleted NULL UC03,UC05,UC02
我使用下面的查询:
SELECT
b.*,
STUFF(
(SELECT ',' + a.UCId
FROM UCDetails a, test b
WHERE (b.UCPost = a.UCPre)
FOR XML PATH ('')),1,1,'')
FROM
test b
JOIN
UCDetails a ON b.UCPost = a.UCPre
我想要什么:
我想在UCO 2和UC05的UC01 Id的UCNext
列由逗号分隔( UC02,UC05
),因为UC01的UCPost与UC02和UC05的UCPre匹配。
对于给定的数据,你能发布每个'UCid'的新列值应该是什么吗? – gotqn 2015-02-08 10:58:46
尊敬的UC01,UCNext的UCCI值为UC02和UC05 – 2015-02-08 11:37:50
[踢坏的习惯:使用旧式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad -habits-to-kick-using-old-style-joins.aspx) - 在ANSI-** 92中,旧式*逗号分隔的表*样式列表被替换为* proper * ANSI'JOIN'语法** SQL标准(**超过20年**之前)并且不鼓励使用 – 2015-02-08 12:25:03