Tengo el siguiente esquema de base de datos:
Product ID | Component | ...
Identificación del producto - una clave externa
Componente - partes del producto
Por alguna razón Arcana, varios Registros tienen el mismo ID de Producto y Componente. ¿Hay alguna consulta SQL que devuelva todos los ID de producto y componentes, que tengan varios componentes idénticos?
P.ej. dada la siguiente tabla
| Product ID | Component |
--------------------------
| 1 | c1000 |
| 1 | c1100 |
| 2 | c2000 |
| 2 | c2000 |
| 2 | c2200 |
| 3 | c3000 |
La consulta SQL debe devolver:
| Product ID | Component |
--------------------------
| 2 | c2000 |
Respuestas
2 para la respuesta № 1SELECT
ProductId,
Component
FROM
Table
GROUP BY
ProductId,
Component
HAVING
COUNT(*) > 1
2 para la respuesta № 2
SELECT ProductId, Component, count(*) Duplicates
from MyTable -- or whatever
group by ProductId, Component
having count(*) > 1
Esto también le mostrará cuántas entradas duplicadas hay.
1 para la respuesta № 3
select "Product ID", Component
from table
group by "Product ID", Component
having count(*) > 1