簡體   English   中英

如何告訴SQL使用另一個表作為輸入值來運行命令?

[英]How do I tell SQL to run a command using another table as the input value?

我正在嘗試建立一個查詢,該查詢將向我顯示數據庫中每個團隊的得分(無論如何作為起點)。 我有兩個表格,一個是球隊名單,另一個是比賽,格式如下

周|主隊|客隊|主場得分|客場得分|結果|比賽ID

結果可以是A(客場獲勝),H(主場獲勝)或D(平局)。 我可以很容易地找到給定團隊的積分

SELECT
(SELECT COUNT(matches.Result)*3 FROM matches WHERE (HomeTeam='Arsenal' AND Result='H') OR (AwayTeam='Arsenal' AND Result='A')) +
(SELECT COUNT(matches.Result) FROM matches WHERE (HomeTeam='Arsenal' OR AwayTeam='Arsenal') AND Result='D');

我想做的是這樣的:

FOR EACH teams.Team in teams
SELECT
(SELECT COUNT(matches.Result)*3 FROM matches WHERE (HomeTeam=Team AND Result='H') OR (AwayTeam=Team AND Result='A')) +
(SELECT COUNT(matches.Result) FROM matches WHERE (HomeTeam=Team OR AwayTeam=Team) AND Result='D');

不幸的是,這是行不通的,我也不知道為什么。 我究竟做錯了什么?

簡單使用子查詢:

SELECT teams.Team,
((SELECT COUNT(matches.Result)*3 FROM matches WHERE (HomeTeam=teams.Team AND Result='H') OR (AwayTeam=Team AND Result='A')) +
(SELECT COUNT(matches.Result) FROM matches WHERE (HomeTeam=teams.Team OR AwayTeam=teams.Team) AND Result='D')) as Points

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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