Фильтрация записей таблицы на основе других таблиц - PullRequest
0 голосов
/ 12 июня 2019

У меня есть таблица "all_data", которая состоит из 2 наборов записей

a) Independent records which should get fetched all times 
b) All records from table "all_product"

Теперь у меня есть еще несколько таблиц, таких как 'MS_product', 'apple_product', 'Linux_product' и все эти таблицыявляются подмножеством таблицы 'all_product'.

Я уже использовал левое или правое соединение, но, похоже, это не будет полезным.

Я хочу получить все независимые записи из таблицы 'all_data'и только совпадающие записи из других таблиц, то есть «ms_product», поэтому конечный вывод должен иметь все независимые записи + сопоставленные записи из таблицы «MS_product», «apple_product» или «Linux_product».

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете использовать оператор МИНУС для первого запроса:

SELECT *
FROM all_records

MINUS

(
    SELECT *
    FROM MS_product

    UNION

    SELECT *
    FROM Apple_product
)

Это даст вам все кортежи, которых нет в таблицах MS_product и Apple_product.

Однако я не рекомендую проектировать вашу базу данных так, как вы. Предпочитаю одну таблицу с выделенной колонкой для продукта бренда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...