簡體   English   中英

SQL - 從多個表中搜索多個列?

[英]SQL - search multiple columns from multiple tables?

我如何 select 所有來自美國的團隊在“2022-01-02”之后進行比賽(參加)?

事件表。

主隊 客隊 日期
AAA BBB 2022-01-01
AAA FFF 2022-01-01
BBB CCC 2022-01-02
AAA HHH 2022-01-05
RRR AAA 2022-01-05
QQ BBB 2022-01-09

統計表。

隊名 國家 match_played
AAA 美國 49
BBB 法國 22
CCC 加拿大 32
DDD 美國 25
電子電氣設備 意大利 20
FFF 德國 90
GGG 法國 62
HHH 美國 25

event表加入stat兩次,然后檢查比賽日期:

SELECT DISTINCT
    CASE s1.country WHEN 'USA'
        THEN e.home_team ELSE e.away_team END AS team
FROM event e
INNER JOIN stat s1 ON s1.team_name = e.home_team
INNER JOIN stat s2 ON s2.team_name = e.away_team
WHERE s1.country = 'USA' OR s2.country = 'USA' AND
      e.date > '2022-01-02';
    SELECT team_name FROM `tb2` WHERE `country` = 'USA' 
AND team_name IN 
(SELECT home_team FROM tb1 WHERE date > '2022-01-02'
UNION
SELECT away_team FROM tb1 WHERE date > '2022-01-02')

首先,我們獲取在“2022-01-02”之后有比賽(參加)的球隊名稱,然后是 select 僅美國隊。 在此處輸入圖像描述

暫無
暫無

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

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