Я пытаюсь исключить результаты внутреннего запроса в SQL (в настоящее время я работаю на облачной платформе Googles), у меня есть следующая таблица:
date | name
-----------+------------
2019-09-10 | gas_300x10
2019-09-10 | gas_250x10
2019-09-10 | gas_3x3
2019-09-11 | gas_300x10
2019-09-11 | gas_250x10
2019-09-11 | gas_4x4
Я пытаюсь исключить значения, где имя равно gas_300x10 и gas_250x10 только для даты 2019-09-10 !
Я хочу сохранить другие значения от этой даты и также хотите сохранить, где gas_300x10 и gas_250x10 встречаются в другие дни, например, в день 2019-09-11.
У меня есть следующий запрос, который исключает значения для даты, которую я не хочу - поэтому я не хочу эти два значения для 2019-09-10:
SELECT *
FROM my_table
WHERE date = '2019-09-10'
AND (name = 'gas_300x10' OR name = 'gas_250x10')
Этот запрос по сути вернет те значения, которые мне не нужны - как я могу встроить это как внутренний запрос, чтобы эти результаты были исключены из остальных данных?
Я пытался использовать EXCEPT
и NOT IN
как подзапрос, но не нашли удачи!
Я думаю, что код будет работать так, но я не уверен:
SELECT *
FROM my_table
EXCEPT
SELECT *
FROM my_table
WHERE date = '2019-09-10'
AND (name = 'gas_300x10' OR name = 'gas_250x10')