我想寫一個SQL Server查詢將從下面的示例表中檢索數據:選擇單列多行分爲單列
Table: Person
ID Name
-- ----
1 Bill
2 Bob
3 Jim
Table: Skill
ID SkillName
-- -----
1 Carpentry
2 Telepathy
3 Navigation
4 Opera
5 Karate
Table: SkillLink
ID PersonID SkillID
-- -------- -------
1 1 2
2 3 1
3 1 5
正如你所看到的,SkillLink表的目的是爲了適應不同的(可能有多個或沒有)個人技能。我想實現我的查詢結果是:
Name Skills
---- ------
Bill Telepathy,Karate
Bob
Jim Carpentry
因此,對於每個個人,我想用逗號連接指着他所有SkillNames的名單。這可能是多種技能或根本沒有。
這顯然不是我正在使用的實際數據,但結構是相同的。
也請隨意爲這個問題提出一個更好的標題作爲評論,因爲措辭簡潔是我的問題的一部分。
可能重複(http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single -text-string) – Taryn
從標題中你可能會想到,但正如你所看到的那樣,這不太正確。我想將多行連接成單個文本字符串,並根據第三個表將它們與他們的人員配對。我正在尋找這樣做的所有*的查詢,而不僅僅是連接。 – radicalbiscuit
回覆:問題標題 - 您可以省略「SQL查詢」,就像標籤中顯而易見的那樣,並將「組合」更改爲「選擇」。 –