Объединение нескольких таблиц из двух несвязанных столбцов (Access) - PullRequest
0 голосов
/ 08 июля 2020

Мне нужна помощь, вот моя ситуация:

У меня 4 таблицы a Таблица 1: id_river | name_river

Таблица 2: год

Таблица 3: nb_catch_a | id_river | год

Таблица 4: nb_catch_b | id_river | год

Я пытаюсь создать запрос, который перечислит nb_catch_a и nb_catch_b, сгруппированные по id_river И годам:

Итоговая таблица: id_river | name_river | год | nb_catch_a | nb_catch_b

Ответы [ 2 ]

0 голосов
/ 08 июля 2020

, если вы хотите присоединиться к таблице 2, вам нужно указать, что соединение должно быть в поле года. Кроме того, к какому полю вы хотите присоединиться в таблице 2? Table3 или table4? У них обоих есть год. Поэтому сложно сказать, в каком направлении должно выполняться соединение go. Мне нужно больше информации о том, что вы пытаетесь сделать. Что-то вроде этого должно сработать, но присоединяться к году - глупо. Не уверен, почему в table2 есть только одно поле ... это кажется избыточным, поскольку год уже указан в table3 и 4. Также не уверен, что это должно быть внутреннее или левое внешнее соединение для года.

Select table1.id_river, table1.name_river, table3.nb_catch_a, table3.year,  table4.nb_catch_b, table4.year from Table1 INNER JOIN table3 on table1.id_river=table3.id_river
INNER JOIN table4 on table1.id_river=table4.id_river 
0 голосов
/ 08 июля 2020

Если у вас есть год в таблице 3 и таблице 4, зачем вам таблица 2?

должны ли мы извлекать только те годы, которые указаны в таблице 2?

также как вы хотите агрегировать оставшиеся поля?

вот ответ при условии, что вам не нужна таблица 2

SELECT A.ID_RIVER
,A.NAME_RIVER
,B.nb_catch_a
,C.nb_catch_b
,C.YEAR

FROM TABLE_1 A JOIN TABLE_3 B ON A.ID_RIVER = B.ID_RIVER JOIN ТАБЛИЦА_4 C НА A.ID_RIVER = C .ID_RIVER

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...