我有一個用戶表,其中一列中有逗號分隔的 ID,例如:
| ID | 姓名 | 主要團隊 ID | 次要團隊 ID |
|---|---|---|---|
| 1 | 約翰 | 123 | 456,789,669 |
| 2 | 林戈 | 123 | 456,555 |
以及包含團隊名稱的輔助表
| ID | 團隊編號 | 隊名 |
|---|---|---|
| 1 | 456 | 紅隊 |
| 2 | 669 | 藍隊 |
| 3 | 789 | 紫隊 |
| 4 | 555 | 黑隊 |
| 5 | 123 | 橙隊 |
我正在嘗試創建一個提供以下格式的視圖:
| 姓名 | 初級團隊 | 次要隊伍 |
|---|---|---|
| 約翰 | 橙隊 | 紅隊、紫隊、藍隊 |
| 林戈 | 橙隊 | 紅隊,黑隊 |
我創造了
select
u.Name,
t.TeamName as 'Primary Team'
SELECT ... ?? as 'Secondary Teams'
from
users u
inner join teams t on u.PrimaryTeamId = t.TeamId
我已經嘗試了很多東西,但似乎無法把它放在一起。我似乎無法在這里或其他地方找到相同的用例。我確實控制了傳入的資料,因此我可以在開始時相關地決議這些值,或者在 ETL 端進行某種查找,但我想弄清楚。
uj5u.com熱心網友回復:
如果輔助團隊的順序是必不可少的,您可以OpenJSON在保留順序的同時決議字串[key]。
然后就變成小事了 string_agg()
示例或
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/371553.html
標籤:sql sql-server 查询语句
上一篇:根據具有多種組合的兩列值更新列
