[英]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.