Страницы

Поиск по вопросам

четверг, 11 июля 2019 г.

Слияние таблиц в T-SQL

Есть запрос, который объединяет две таблицы: продавцов и покупателей. На выходе получается имя продавца или покупателя, тип (продавец или покупатель) и страна. Как теперь можно оставить только те строчки, где какая-либо страна имеетcя и в продавце, и в покупателе? Т.е. если есть покупатели из России, а продавцов из России нет, то эти строчки нужно исключить.
Можно полностью изменить запрос, но не использовать JOIN
SELECT CompanyName AS Person, 'Customer' AS Type, Country FROM Customers UNION SELECT CompanyName AS Person, 'Seller' AS Type, Country FROM Suppliers ORDER BY Country, Person


Ответ

SELECT CompanyName AS Person, 'Customer' AS Type, Country FROM Customers where Country in (select distinct Country from Suppliers) UNION SELECT CompanyName AS Person, 'Seller' AS Type, Country FROM Suppliers where Country in (select distinct Country from Customers) ORDER BY Country, Person

Комментариев нет:

Отправить комментарий