Comment la manipulation si la sous-requête renvoie plusieurs valeurs
J'ai une procédure stockée dans lequel je suis à l'aide de sous-requêtes, mais le problème est que mon sous-requête renvoie les 2 valeurs et je n'ai qu'à renvoyer tous les enregistrements sur la base de ces deux valeurs.
Select * from [Address] where AddressID=
(Select AddressID from PersonAddress where PersonID=
(select Claimant from [Case] where CaseID=35))
Dans cette requête AddressID retourner deux valeurs à la fois la valeur ayant enregistrement dans la table, je n'ai qu'à retourner à la fois l'adresse.
Comment puis-je résoudre ce problème?
Vous devez vous connecter pour publier un commentaire.
Au lieu de
=
utilisationIN
:ou essayer
JOIN
, la façon correcte:Vous avez deux options:
utiliser DANS la clause de ce genre:
Select *
à partir de [Adresse]
où
AddressID DANS
(
Sélectionnez AddressID
de PersonAddress
où PersonID DANS (sélectionnez le Demandeur de [Cas] où CaseID=35)
)
ou de limiter votre sous-requêtes avec la clause TOP
Select * from [Adresse] où AddressID=
(Select TOP 1 AddressID de PersonAddress où PersonID=
(select TOP 1 le Demandeur de [Cas] où CaseID=35))
Quelque chose comme ceci: