У мене є наступна схема бази даних:
Product ID | Component | ...
Ідентифікатор продукту - зовнішній ключ
Компонент - частини виробу
Деякі архівні причини мають певний ідентифікатор продукту та компонент. Чи існує SQL-запит, який повертає всі ідентифікатори продуктів і компоненти, які мають декілька ідентичних компонентів?
Напр. наведені нижче таблиці
| Product ID | Component |
--------------------------
| 1 | c1000 |
| 1 | c1100 |
| 2 | c2000 |
| 2 | c2000 |
| 2 | c2200 |
| 3 | c3000 |
Запит SQL повинен повертатися:
| Product ID | Component |
--------------------------
| 2 | c2000 |
Відповіді:
2 для відповіді № 1SELECT
ProductId,
Component
FROM
Table
GROUP BY
ProductId,
Component
HAVING
COUNT(*) > 1
2 для відповіді № 2
SELECT ProductId, Component, count(*) Duplicates
from MyTable -- or whatever
group by ProductId, Component
having count(*) > 1
Це також покаже вам, скільки дубльованих записів є.
1 для відповіді № 3
select "Product ID", Component
from table
group by "Product ID", Component
having count(*) > 1