Disons que j'ai une table avec des colonnes telles que:Comment puis-je sélectionner uniquement les propriétés communes d'un jeu de résultats?
ID
Name
City
State
ZIP
J'ai besoin d'écrire une requête qui retourne seulement une ligne. Cette ligne inclura City
, State
et ZIP
, mais je veux seulement qu'un champ ait une valeur si toutes les valeurs dans le jeu de résultats sont identiques, sinon je veux que le champ soit null
. Par exemple, si chaque enregistrement a le même état, State sera dans le résultat retourné. Si juste un des résultats a un état différent, je veux que le champ soit null
. Est-ce que quelque chose comme ceci est possible dans SQL Server 2005?
Fondamentalement, je veux une requête comme ceci:
SELECT City, State, ZIP
FROM Users
WHERE ID IN(1,2,3,4,5,6)
Mais seulement revenir une seule rangée, avec les spécifications décrites plus haut.
pour faire de cette solution en toute sécurité, vous devez utiliser une contrainte de vérification pour vous assurer que ** NULL ** ne peut pas être enregistré dans l'une des colonnes concernées –
Bon point. J'ai seulement utilisé ** NULL ** pour l'emphase, mais j'en aurais toujours besoin pour une chaîne vide. – gbn