Я не могу понять это сам. Надеюсь, кто-то может мне помочь.Объединение нескольких строк в SQL Server
У меня есть три таблицы: users
, cards
, referees
и users_cards
пользователей:
id | userName | referee_id
----------------------------
1 | u1 | 1
2 | u2 | 1
3 | u3 | 2
Судьи:
id | refName
--------------
1 | ref1
2 | ref2
карта:
id | cardName
--------------
1 | card1
2 | card2
Users_Cards:
user_id | card_id | color | number
-------------------------------------------
1 | 1 | red | 123
1 | 2 | yellow | 312
2 | 2 | yellow | 523
3 | 1 | red | 344
Результат я хочу, чтобы это:
id | userName | refName | cards
1 | u1 | ref1 | card1: red (123), card2: yellow (312)
2 | u2 | ref1 | card2: yellow (523)
3 | u3 | ref2 | card1: red (344)
И так далее ...
Все, что я могу получить множественный строк, когда пользователь имеет более одной карты. Итак, как я могу объединить их так.
Спасибо кому-либо, кто мог бы мне помочь
EDIT:
В настоящее время я только с помощью LEFT JOIN
s
SELECT UserName, refName cardName, color, number,
FROM users
LEFT JOIN referees ON users.referee_id = referees.id
LEFT JOIN users_cards ON users.id = users_cards.user_id
LEFT JOIN cards ON dbo.users_cards.card_id = cards.id
Почему этот вопрос с тегами [тег: MySQL] и [теги: SQL-сервер]? В названии упоминается «SQL Server» ... – eggyal
опубликуйте запрос, который вы используете в настоящее время, чтобы мы могли лучше понять, как данные возвращаются. –