[英]Select from table and view, with left join and where clause
我有一個表格(GamesSchedule),其中包括比賽名稱,裁判名稱,日期,然后是包含所有比賽列表的視圖。 我需要的是在特定日期范圍內特定裁判在每個錦標賽中的比賽次數–我確實需要使用空值來查看是否存在裁判沒有參加過的錦標賽(不,我沒有找到了對我有幫助的答案):
Tourney | Games
----------------
Mens 1st | 10
Womens 1st | 7
Cup | 0
Youth | 3
Mens 2nd | 2
Womens 2nd | 0
----------------
不幸的是,這僅給我提供了裁判工作過的比賽(因此六場比賽中只有四場,沒有如上所述的杯賽):
SELECT t.Tourney, COUNT(t.Tourney) AS Games
FROM GamesSchedule t
RIGHT JOIN Tournaments v
ON t.Tourney = v.Tourney
WHERE Date > 42603 AND Date < 43011
AND (D1='Joe Smith' OR D2='Joe Smith' OR D3='Joe Smith')
GROUP BY t.Tourney;
嘗試將條件從WHERE
移至JOIN
:
SELECT t.Tourney, COUNT(t.Tourney) AS Games
FROM GamesSchedule t
RIGHT JOIN Tournaments v
ON t.Tourney = v.Tourney
AND Date > 42603
AND Date < 43011
AND 'Joe Smith' IN (D1, D2, D3)
GROUP BY t.Tourney;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.