LEFT JOIN при несовпадении

Если у меня есть таблица 1 под названием «ФАЙЛЫ» и таблица 2 под названием «Сети», а значение, которое входит в FILES.Network_ID, должно быть из списка, определенного в Networks.Network_ID

Если бы я хотел запустить запрос, чтобы узнать, есть ли какие-либо значения под network_id в таблице 1, которые не определены в таблице 2, я попробовал следующее, которое, по-видимому, не работает ... Кроме того, я использую представление SQL MS ACCESS

SELECT *
FROM (FILES f LEFT JOIN Networks 
       ON f.Network_ID <> Networks.Network_ID)

Лучше создать связь между таблицей файлов и сетей

Santosh 24.07.2018 07:20
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
142
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Этот запрос не будет работать должным образом, потому что вы пытаетесь присоединиться, если идентификаторы не совпадают, поэтому в идеале при соединении строки будут совпадать

Например, если таблица Files содержит строки с идентификатором сети 1,2,3, а таблица Networks содержит идентификатор сети 1,2, то при присоединении вы получите комбинацию строк с идентификаторами сети [1,2], [2,1], [3 , 1], [3,2].

Экземпляр, если вы используете подзапрос, а затем отфильтруете его с помощью предложения В, будет работать

select * from files where network_id not in (select network_id from networks);

Большое спасибо! Работает как шарм! и да, я понял логику различных конфигураций на выходе моего предыдущего левого соединения. Это было так полезно.

WalidCrypto 24.07.2018 07:23

Попробуй это

SELECT *
FROM (FILES f LEFT JOIN Networks 
       ON f.Network_ID =Networks.Network_ID)
      Where Networks.Network_ID Is Null

Для обеспечения целостности данных создайте связь между обеими таблицами.

Связь уже установлена, Сантош, но я все еще могу ввести неверное значение в поле Network_ID? Что ты об этом думаешь

WalidCrypto 24.07.2018 08:41

@WalidMohammed Убедитесь, что установлен флажок Enforce Referential Integrity.

Santosh 24.07.2018 08:49

Сантош, как я могу снова получить доступ к этому диалоговому окну, в котором есть проверка ссылочной целостности, когда связь уже установлена?

WalidCrypto 24.07.2018 09:16

Дважды щелкните линию соединения.

Santosh 24.07.2018 09:17

Другие вопросы по теме