私はこれを自分で理解することはできません。誰かが私を助けてくれることを願っています。
users
、cards
、referees
およびの3 つのテーブルがあります。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
ユーザー_カード:
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)
等々...
ユーザーが複数のカードを持っている場合、取得できるのは複数の行だけです。では、どうすればこのように組み合わせることができますか。
私を助けてくれる人に感謝します!
編集:
現在、私は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