выберите * в таблице_а слева присоединиться к таблице_b, когда определенное поле равно нулю в таблице_b - PullRequest
0 голосов
/ 27 июня 2019

table_a содержит все ордера, а table_b содержит только специальные ордера.Каждый заказ в каждой таблице имеет поле code_field.Все заказы в table_b также находятся в table_a, но, конечно, не все заказы в table_a также находятся в table_b.Мне нужно извлечь все заказы в table_a, которые также не находятся в table_b.В поисках решения, но я на самом деле не могу понять, как его написать.

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Вы можете сделать это с НЕ СУЩЕСТВУЮЩИМ:

SELECT *
FROM table_a
WHERE NOT EXISTS (
  SELECT 1 FROM table_b
  WHERE table_a.code_field = table_b.code_field
)
1 голос
/ 27 июня 2019

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

SELECT table_a.*
FROM table_a
LEFT JOIN table_b
  ON table_a.code_field = table_b.code_field
  AND table_b.id IS NULL
...