Я пытаюсь собрать данные из трех таблиц.SQL JOINING, что лучше всего подходит
tableA
, tableB
и tableC
. Таблица A - это моя основная таблица, содержащая большинство данных, которые я хочу извлечь.
Таблица A присоединяется к таблице B через a.id
и b.new_id
. Однако таблица C не имеет связи с таблицей A и соединяется только через таблицу B: b.board_id
и c.board_id
.
Каков наилучший способ присоединиться к этим таблицам, чтобы переменные отображали таблицу A?
Я могу соединить таблицы А и В, как это:
SELECT * FROM tableA a LEFT JOIN tableB b ON a.id = b.new_id
и переменные хорошо. Но когда я пытаюсь добавить TableC, отображаются указанные переменные TableC, а не TableA.
Некоторые из таблиц содержат одинаковые имена столбцов. Как бы я присоединился ко всем трем?
Все зависит от того, чего вы хотите достичь. Может быть, C имеет отношение «много к одному» к B? – NewInTheBusiness
Мне нужно 4 из A, 3 из B и 2 из C. –
Сколько строк вы хотите вернуть? Основное соединение будет похоже на ответы, но если вы, например, хотите сгруппировать результаты B и C в A, вам нужен другой подход. – NewInTheBusiness