Соедините 3 таблицы, используя столбец, общий для всех 3 таблиц - PullRequest
1 голос
/ 15 апреля 2020

Я всего лишь SQL новичок, поэтому, пожалуйста, потерпите меня. У меня есть три таблицы, которые настроены следующим образом:

дата | страна | Тест 1 | Тест 2 | Тест 3 | et c.

Данные в дате и стране столбцы во всех трех таблицах идентичны, а различия заключаются в данных в столбцах Тест. Я хотел бы использовать Join для запроса одного столбца даты и трех соответствующих столбцов Test из трех таблиц. Я планирую просто перестроить таблицу, чтобы столбцы Test в других таблицах были дополнительными столбцами в одной таблице, но я все же хотел бы знать, как использовать Join таким образом. Это то, что у меня есть в данный момент, хотя выдает ошибку, говорящую об ошибке в синтаксисе предложения FROM. Стоит отметить, что я выполняю этот запрос в 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) для запуска, но я нигде не получил этого.

1 Ответ

1 голос
/ 15 апреля 2020

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...