2010-11-22 6 views
0

J'ai ceci:ID Trouver où une autre colonne a au moins deux valeurs distinctes

SELECT DocumentID 
FROM 
(
SELECT DocumentID, Extension FROM Pages 
GROUP BY DocumentID, Extension HAVING (Count(1) > 2) 
) MultiplePages 
GROUP BY MultiplePages.DocumentID Having (Count(1) > 1) 

Je cherche un jeu de résultats des documents qui ont plusieurs pages où les pages ne partagent pas une extension distincte. Cette requête fonctionne mais je me demandais s'il y avait un meilleur moyen.

Aussi, je suis nouveau sur Stack Overflow et je suis ouvert aux suggestions sur la création de meilleurs titres, descriptions, ou comment j'ai pu chercher cette question. Merci.

+0

paraphraser ... vous voulez DocumentIDs avec des extensions distinctes, mais uniquement lorsque les extensions distinctes sont utilisées plus d'une fois par DocumentID – gbn

+1

Ceci est encore confus. Des exemples de données et de résultats rendraient les choses beaucoup plus claires. – RedFilter

+0

Merci pour les suggestions. – TrevDev

Répondre

4
SELECT DocumentID 
FROM Pages 
GROUP BY DocumentID 
HAVING COUNT(DISTINCT(Extension)) > 1 

ou

SELECT DocumentID 
FROM Pages 
GROUP BY DocumentID 
HAVING MIN(Extension) <> MAX(Extension) 
+0

C'est génial. La seconde n'est pas aussi facile à lire mais reste facile à comprendre. Je ne suis pas un gourou sql mais le plan d'exécution pour les deux spectacles un coût 80/20 respectivement. – TrevDev

Questions connexes