Comment puis-je combiner des ensembles de résultats à partir de deux appels de procédures stockées?

J'ai une procédure stockée suivante

CREATE PROCEDURE [dbo].[MyStored]
   @state int
AS
   SELECT blahblahblah WHERE StoredState=@state LotsOfJoinsFollow;
RETURN 0

et j'aimerais l'appeler une procédure stockée avec @etat 0 et 1 et ont les ensembles de résultats retournés par les deux appels combiné avec UNION sémantique alors que j'ai un nouveau jeu de résultats qui comporte des lignes de fois le premier appel et le second appel.

Quelque chose comme (imaginaire SQL):

(EXEC MyStored 0) UNION (EXEC MyStored 1);

Comment puis-je y parvenir?

Êtes-vous d'accord avec le fait d'avoir le @de l'état une liste délimitée par des virgules? (par exemple, etat = '0,1') - la solution est différente en fonction de votre réponse.
K: je ne suis pas sûr, je préfère un facile de maintenir la solution.
dupliquer: stackoverflow.com/questions/5292069/...
Combien de valeurs différentes pourrait StoredState?
Si vous déplacez la logique dans une TABLE au lieu de cela il vous suffit de faire comme une union de 2 sélectionne.

OriginalL'auteur sharptooth | 2011-12-29