[英]When joining the same table, how to put the joined data in separate rows rather than separate columns?
[英]How to show data in columns rather than rows based on condition in SQL
我認為編寫與您的字面預期輸出匹配的查詢會讓人頭疼。 但是,使用GROUP_CONCAT
我們可以得出非常接近的結果:
SELECT
reservation_id,
GROUP_CONCAT(player_id ORDER BY player_id) players
FROM
yourTable
GROUP BY
reservation_id;
可能比您期望的更好的一個原因是,如果給定的預訂將來某個時候應該有3個以上的玩家,我的查詢只會在CSV玩家列表中添加一個新玩家。 如果我們在沒有動態SQL的情況下獲得准確的輸出,那么第四個播放器的存在可能會破壞查詢。
您可以使用透視
SELECT [reservation_id], player_id
FROM [dbo].[PivotExample]
PIVOT
(
FOR [player_id] IN ([1], [2], [4], [5])
) AS P
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.