Как я могу найти повторяющиеся значения в результате операции соединения? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть две таблицы

MappingTable> Id, ItemId, количество

ItemTable> ItemId, Name, DateOfPurchase

Я хотел бы найти повторяющиеся строки, имеющие одинаковое количество и тот же DateOfPurchase.

eg. I have 

Id ItemId Quantity
1  01      4
2  03      5
3  05      4

ItemId Name DateOfPurchase
01      AB    2019-10-30 18:30:00
05      XY    2019-10-30 18:17:00

Result:
Quantity DateOfPurchase Name
4        2019-10-30     AB 
4        2019-10-30     XY 

Итак, я могу присоединиться к этим таблицам и найти дубликаты

Как я могу это сделать?

1 Ответ

1 голос
/ 29 апреля 2020

Одним из вариантов является использование оконных функций, если ваша база данных поддерживает их:

select *
from (
    select 
        m.*, 
        i.name, 
        i.dateOfPurchase,
        count(*) over(partition by m.quantity, p.dateOfPurchase) cnt
    from mapping m
    inner join item i on i.itemId = m.itemId
) t
where cnt > 1
order by quantity, dateOfPurchase
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...