我有一個包含以下值的表:
---- ----------------- -----------------
id | player1_char_id | player2_char_id |
---- ----------------- -----------------
1 | 8 | 88 |
---- ----------------- -----------------
player1_char_id以及player2_charid來自另一個character表的兩個參考 ID 。我正在嘗試連接兩個表并顯示字符的名稱,結果如下:
---- -------------- --------------
id | player1_char | player2_char |
---- -------------- --------------
1 | Yoshimitsu | Fahkumram |
---- -------------- --------------
但是,當我嘗試使用以下代碼查詢資料以實作上述結果時,我沒有得到任何結果:
SELECT match.id, character.first_name AS player1_char, character.first_name AS player2_char
FROM match
JOIN character
ON match.player1_char_id = character.id AND match.player2_char_id = character.id;
當我在陳述句中更改ANDtoOR時JOIN,我在兩個名稱列中都得到了重復的值,即
---- -------------- --------------
id | player1_char | player2_char |
---- -------------- --------------
1 | Yoshimitsu | Yoshimitsu |
---- -------------- --------------
如何修復我的查詢以獲得上述預期結果?
uj5u.com熱心網友回復:
SELECT match.id,
character_a.first_name AS player1_char,
character_b.first_name AS player2_char
FROM match
JOIN character as character_a
ON match.player1_char_id = character_a.id
JOIN character as character_b
ON match.player2_char_id = character_b.id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/403724.html
標籤:
下一篇:substring帶條件的字串
