[英]MS ACCESS SQL Query on two tables
我是SQL新手,無法設置此查詢。 我有兩個表,一個表包含有關團隊的信息,名為TEAMS,如下所示:
TEAMS
Name|City|Attendance
Jets| NY| 50
...
另一個保存有關所玩游戲的信息,名為GAMES:
游戲
Home|Visitors|Date |Result
Jets| Broncos| 1/1/2012| Tie
...
對於GAMES中的每一行,我都要給出每支球隊(主隊和客隊)的名稱和城市,比賽的日期和結果-總共六個字段。
現在,我已經弄清楚了如何顯示字段,但僅顯示了一個團隊所在城市的信息,而不是兩個都顯示。 到目前為止,這是我的查詢。 我認為我需要某種子查詢,但無法弄清楚如何設置它。 謝謝您的幫助。
SELECT Home, City AS [Home City], Visitors, City AS [Visitor City], Date, Result
FROM GAMES, TEAMS
WHERE Home=Name
ORDER BY Home DESC , Result DESC , Visitors DESC;
您將需要使用TEAMS
表兩次(並且在其上,而不是在where
條件中使用隱式聯接,而應使用顯式聯接..更清晰,更易於閱讀):
select g.home, ht.city as home_city,
g.visitor, vt.city as visitor_city,
g.date, g.result
from (games as g
inner join teams as ht on g.home = ht.name)
inner join teams as vt on g.visitor = vt.name
在本示例中,我在表中使用別名來縮短表名( g
表示GAMES
, ht
表示“主隊”,而vt
表示“訪客隊”)。 注意,不是在where
子句中定義關系條件,而是在from
子句中直接定義它(使用inner join
)。
您將需要兩次聯接 TEAMS
表。
SELECT Home, HomeTeam.City as Home_City, Visitors, VisTeam.City AS Vis_City,
-- more field
FROM GAMES JOIN TEAMS AS HomeTeam
ON GAMES.Home=HomeTeam.Name
JOIN TEAMS AS VisTeam ON GAMES.Visitors=VisTeam.Name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.