У меня есть следующий запрос, который в настоящее время возвращает 2 строки (он всегда будет возвращать только 2 строки).SQL Объедините несколько строк из одной таблицы в одну строку с разными полями
Select
User_Profile.userid, User_Profile.displayname, User_Profile.picPath,
Battle.id as battleid, Battle.challenger_id as challengerid,
Video.[filename]
From
Battle
INNER Join
User_Profile ON Battle.challenger_id = User_Profile.userid OR
Battle.challenged_id = User_Profile.userid
INNER Join
Video ON User_Profile.userid = Video.[user_id]
WHERE
Video.battle_id = Battle.id
Это возвращает что-то вроде этого:
userid | displayname | picPath | battleid | challengerid | filename
--------------------------------------------------------------------
6 | CandyPoo | test.jpg | 12 | 9 | test.mp4
9 | Nawlrus | test2.jpg | 12 | 9 | test2.mp4
Я ищу, чтобы вернуть что-то вроде этого:
battleid | challengerid | xuserid | xdisplayname | xpicPath | xfilename | Yuserid | YdisplayName | YpicPath | YfileName
--------------------------------------------------------------------------------------------------------------------------
12 | 9 | 9 | Nawlrus | test2.jpg | test2.mp4 | 6 | CandyPoo | test.jpg | test.mp4
Есть ли способ сделать это? Я буду возвращать несколько строк, таких как выше (Top X), но строки с одним и тем же бойлом нужно будет объединить, как в таблице, которую вы видите выше. Возможно ли это в SQL Server 2008?