我想在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