[英]SQL complicated join query
我有兩個表: match(id.match, date, home, away)
和team(id. team, name)
match(id.match, date, home, away)
team(id. team, name)
。 在match
home
和away
均設有team id
外鍵。 在我的查詢中,我需要具有match,
date
和這兩支球隊name
的輸出記錄。
我努力了:
SELECT m.date, m.home, m.away, t.name
FROM `match` m
JOIN team t ON m.home = t.id_team
ORDER BY m.date
但這輸出兩個記錄而不是一個。 是否可以用sql做我想做的事情,或者只更改表的設計?
我懷疑您的表之間存在多對一的關系。
這可能取決於表值:
SELECT DISTINCT m.date, m.home, m.away, t.name
FROM `match` m JOIN
team t ON m.home = t.id_team
ORDER BY m.date
好吧,我做了“更深入的研究”並找出了答案。 之前我只是問錯了問題。 謝謝大家的貢獻!
解決方法如下:
SELECT m.date, m.home, m.away, t.name AS homename, te.name AS awayname
FROM `match` m
JOIN team t ON m.home = t.id_team
JOIN team te
ON m.away = te.id_team ORDER BY m.date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.