SQL trouve une mauvaise combinaison

J'ai le tableau suivant

item_id dep_id value_id 67 20 3 67 20 2 68 20 8 68 20 8 68 20 8 97 16 3 

Je dois m'assurer que la table a le même valeur_id pour chaque article dans chaque département_id. En d'autres termes, je ne dois pas avoir un item_id avec un ID de valeur différent pour un ID de département donné.

Dans l'exemple ci-dessus, les deux premières lignes ne sont pas valides car l'article 67, dans department_id 20, apparaît avec des valeurs_id (3,2) différentes

Y a-t-il une requête à effectuer afin d'attraper les "anomalies"? J'utilise SQL Server 2005

Merci d'avance!

Cela vous list les paires (item_id, dep_id) où il y a des valud_is différents.

 select item_id, dep_id from table group by item_id, dep_id having count(distinct value_id)>1 

DISTINCT est généralement plus cher, cela peut utiliser less de ressources (et montre en outre deux valeurs différentes):

 select item_id, dep_id, min(value_id), max(value_id) from table group by item_id, dep_id having min(value_id) <> max(value_id)