我有產生以下結果在一列連接多個行
NAME WeekPattern
John Smith
John Smith //
John Smith OO
Jack Jones
Jack Jones O
Jack Jones //
查詢有沒有一種方法我可以連接的WeekPattern列,這樣的結果將顯示如下:
NAME WeekPattern
John Smith // OO
Jack Jones O //
我曾嘗試使用FOR XML PATH但無法使其正常工作,下面是查詢我的嘗試:
SELECT
p.p_surname,
p.p_forenames,
LEFT(sr.sr_weekpattern , LEN(sr.sr_weekpattern)-1) AS Weekpattern
FROM
unitesnapshot.dbo.capd_studentregister sr
INNER JOIN unitesnapshot.dbo.capd_person p ON p.p_id = sr.sr_student
CROSS APPLY
(
SELECT sr.sr_weekpattern + ' '
FROM unitesnapshot.dbo.capd_studentregister sr1
INNER JOIN unitesnapshot.dbo.capd_person p1 ON p1.p_id = sr1.sr_student
WHERE p.p_id = p1.p_id
FOR XML PATH('')
) pre_trimmed (Weekpattern)
GROUP BY p.p_surname, p.p_forenames, sr.sr_weekpattern;
運行此查詢時出現此錯誤:
傳遞給LEFT或SUBSTRING函數的長度參數無效。
任何幫助會根據您現有的查詢非常感激
這個答案的作品,但只有半秒鐘,然後它給出了錯誤:無效的長度參數傳遞給左或SUBSTRING函數。 – Will 2013-02-28 15:39:43
@如果你刪除'WHERE p.p_id = p1.p_id',子查詢是否會自行工作? – Taryn 2013-02-28 15:41:39
沒有仍然不工作,相同的錯誤 – Will 2013-02-28 15:43:22