Quelqu'un change mon titre pour mieux refléter ce que j'essaie de lui demander.Sélectionner la sélection en fonction d'une priorité
J'ai une table comme
Table (id, value, value_type, data)
ID
est pas unique. Il n'y a pas de clé unique.
value_type
a deux valeurs possibles, disons A et B.
type B est meilleur que A, mais souvent pas disponible.
Pour chaque id si un enregistrement avec EXISTE value_type B, je veux tous les enregistrements avec cet identifiant et value_type B.
Si aucun enregistrement pour cet identifiant avec value_type B existe, je veux tous les enregistrements avec cet identifiant et value_type A.
Notez que si B existe pour cet ID, je ne veux pas d'enregistrements de type A.
Je fais actuellement cela avec une série de tables temporaires. Y a-t-il une seule instruction select (sous-requêtes OK) qui peut faire le travail?
Merci beaucoup!
Détails supplémentaires:
SQL Server 2005
quelle version de SQL Server? –
SQL 2005 "partiton by" est disponible pour moi. J'ai essayé de l'utiliser, mais j'ai eu un problème avec quand il y avait plus d'un enregistrement avec le type B. – kralco626