DB2 - выборка записей, содержащих продукты в более чем одном магазине - PullRequest
0 голосов
/ 19 июня 2010

У меня есть таблица с записями, как показано ниже

номер магазина № продукта

0001 11

0002 11

0003 11

0001 12

0002 12

0001 13

Я хочу получить записи о товарах в нескольких магазинах.Результат должен выглядеть примерно так:

№ магазина № продукта

0001 11

0002 11

0003 11

0001 12

0002 12

Там не должно быть последней записи, поскольку товар есть только в одном магазине.

Пожалуйста, помогите?

1 Ответ

0 голосов
/ 19 июня 2010

Я собираюсь назвать ваш стол «доступность».Я сделал следующее с PostgreSQL, но это стандартный SQL, и я считаю, что DB2 отлично поддерживает стандарт SQL и прекрасно с этим справится.

Вот наиболее естественный для меня способ:

select *
from availability
where product_no in (
    select product_no
    from availability
    group by product_no
    having count(*) > 1
);

Если вы предпочитаете это как коррелированный подзапрос:

select *
from availability a
where (
    select count(*)
    from availability
    where product_no = a.product_no
) > 1;
...