簡體   English   中英

SQL復雜的聯接查詢

[英]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 homeaway均設有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM