2011-03-11 5 views
4

J'ai une requête qui renverra un nombre arbitraire d'ensembles de résultats, tous avec les mêmes colonnes, c'est-à-dire une pour un gestionnaire, puis une pour chaque employé dont le responsable est responsable.Requête renvoyant plusieurs ensembles de résultats

Exécution de SQL dans Mgmt Studio fonctionne très bien - mes tables «maître» et «détails» sont rendues avec succès. Cependant, si je saisis simplement le même SQL dans une requête de jeu de données dans l'assistant de rapport SSRS, seul le premier jeu de résultats est signalé.

Comment puis-je obtenir mes ensembles de résultats Un maître + tous les détails rendus sous forme de tableaux distincts dans un rapport? L'élément clé est que la requête génère un arbitraire nombre d'ensembles de résultats.

Répondre

7

Malheureusement, à partir de la 2008 documentation:

... Un ensemble de résultats à partir d'une base de données relationnelle, ce qui peut résulter de l'exécution des commandes de base de données, procédures stockées, ou des fonctions définies par l'utilisateur. Si plusieurs jeux de résultats sont extraits par une seule requête, seul le premier jeu de résultats est traité et tous les autres jeux de résultats sont ignorés.

Je crains que vous êtes limité à des options plus alambiquées. Je vous suggère soit:

  • De retour tous vos ensembles de résultats UNION ALLed dans un grand jeu de résultats, avec une colonne supplémentaire pour indiquer quel gestionnaire/employé chaque section des résultats est pour ou
  • Création d'un " rapport principal et le code associé qui affiche un sous-rapport pour chacun des gestionnaires/employés que vous signalez. Le sous-rapport utilisera une version de votre procédure stockée qui rendra les résultats de votre rapport pour une personne à la fois.

Ce dernier sera probablement l'approche plus propre.

1

Vous souhaiterez peut-être ramifier les résultats en fonction d'un paramètre. Et permettre aux utilisateurs de basculer les résultats en fonction de ce paramètre.

Questions connexes