![](/img/trans.png)
[英]How do I write a mysql program in Notepad, and can I run it using Windows Command Prompt? If yes, please tell me how it is done
[英]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.