Member 11856456 Ответов: 1

Как использовать операторы left join, если определенного столбца нет в первой таблице


Я пытался объединить все таблицы в большую таблицу с левым соединением. Однако, поскольку моя таблица профилей не имеет cemetery_ID в таблице, оператор join не будет привязан. однако мне нужен cemetery_ID, чтобы присоединиться к таблице cemetery_reference.

вот что у меня есть:

"Select * From profile Left join cemeteries on Profile.ID = cemeteries.Individual_ID left join Cemetery_reference on Cemetery.Cemetery_ID = Cemetery_reference.Cemetery_ID"


Что я уже пробовал:

Попытался разделить соединения с помощью скобок, но это не сработало.

1 Ответов

Рейтинг:
7

OriginalGriff

Это происходит потому, что нет никакой связи между таблицей кладбищ (которая имеет общую ссылку с профилем) и таблицей кладбищ (которая ссылается на таблицу Cemetery_reference), а также между таблицами кладбищ и профилей.

Возможно, вы намеревались использовать таблицу кладбищ (или кладбищ) повсюду вместо обоих, но если вы этого не сделали и нет никакой связи, то вам нужно искать таблицу, которая действительно обеспечивает связь, или изменить дизайн вашей БД. (У меня возникло бы искушение пойти с последним: почему у вас есть две таблицы с такими похожими именами?)


Member 11856456

Cemetery_reference-это название кладбища и его местоположение. Другой - это люди, похороненные на кладбище, и их местоположение. Кроме того, таблица reference_cemetery настроена так, что никакие дубликаты этого кладбища не могут быть введены.

OriginalGriff

Я имел в виду кладбищенские и кладбищенские столы.

OriginalGriff

Я бы, вероятно, назвал их кладбищами (имя, адрес, часы работы,...) и участками (CemeteryID, местоположение на кладбище, занято / пусто / зарезервировано), возможно, с таблицей погребений для самих жильцов (имя, PlotID). Я не знаю, где вы живете, но иногда в Великобритании сюжет может быть "многозанятым", например, когда муж / жена / ребенок добавляются позже.
Имена важны - они делают код более читабельным и менее подверженным ошибкам, что не помогает иметь форму множественного и единственного числа для двух разных таблиц (обычно таблица является множественным числом, потому что она содержит больше, чем строка).

Member 11856456

Есть ли способ, которым я могу опубликовать свою диаграмму базы данных? или, может быть, послать его вам? таким образом, вы можете видеть, чего я пытаюсь достичь.

OriginalGriff

- Нет! Просто опишите таблицы и столбцы как операторы SQL.