簡體   English   中英

使用所有 3 個表共有的列連接 3 個表

[英]Join 3 tables using column common to all 3 tables

我是一個總SQL新手,所以請多多包涵。 我有三個按以下方式設置的表:

日期|國家|測試 1|測試 2|測試 3|等。

日期和國家列中的數據在三個表中是相同的,不同之處在於測試列中的數據。 我想使用 Join 從三個表中查詢一個日期列和三個對應的測試列。 我打算只重新構建表,以便其他表中的測試列是一個表中的附加列,但我仍然想知道如何以這種方式使用 Join。 這就是我目前所擁有的,盡管它拋出一個錯誤,說 FROM 子句的語法有錯誤。 值得注意的是,我正在使用 Access DB 在 VBA 中運行此查詢。

     SELECT r.CRDate, r.Test, p.Test, z.Test
     FROM CountryRaw as r
         INNER JOIN CountryPct as p ON p.CPctDate = r.CRDate
         INNER JOIN CountryZ as z ON z.CZDate = p.CPctDate
     WHERE r.Country = 'US' AND p.Country = 'US' AND z.Country = 'US'

我遇到了一些使用SELECT COALESCE(r.CRDate, p.CPctDate, z.CZDate)開始的東西,但我沒有得到任何結果。

MS Access 需要額外的括號。 所以試試這個:

SELECT r.CRDate, r.Test, p.Test, z.Test
FROM (CountryRaw as r INNER JOIN
      CountryPct as p
      ON p.CPctDate = r.CRDate
     ) INNER JOIN
     CountryZ as z
     ON z.CZDate = p.CPctDate
 WHERE r.Country = 'US' AND p.Country = 'US' AND z.Country = 'US'

暫無
暫無

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

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