Выбирать продукты, не относящиеся к другой таблице

У меня есть 2 стола product_product и product_location_stock.

таблица product_product не имеет никакого отношения к product_location_stock

product_location_stock есть столбец product_id и он связан с product_product

и моя цель - получить идентификаторы всех товаров, у которых нет product_location_stock

некоторые продукты назначены product_location_stock, а некоторые нет, поэтому в основном мне нужно получить идентификаторы тех, которых нет.

поэтому сначала я подумал, что мне нужно получить все product_id, например

SELECT id FROM product_product

и после

SELECT product_id from product_loction_stock

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

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

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

Ответы 2

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

NOT EXISTS — это прямой перевод вашего требования в SQL:

SELECT product_product.id
FROM product_product
WHERE NOT EXISTS
   (SELECT 1
    FROM product_location_stock
    WHERE product_location_stock.product_id = product_product.id);

Код ниже может вам помочь.

SELECT P.product_id  FROM  product_product P
left join product_location_stock PL ON PL.product_id =P.product_id 
WHERE PL.product_id  IS NULL

Недостатком является то, что это будет вычислять совпадения все, в то время как NOT EXISTS остановится после нахождения первого совпадения.

Laurenz Albe 08.04.2019 10:41

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