2016-10-14 4 views
0

Je suis coincé avec la tâche suivante:TSQL - Boucle sur colonne à requêter autre table

  1. via Excel les types d'utilisateur dans un ID clique alors sur un bouton (macro) pour déclencher SP ou la fonction
  2. ce ID habituellement « retourne » plus d'une ligne
  3. de ce résultat, je dois les valeurs d'une seule colonne (de LookupNumber) afin d'utiliser ces valeurs pour interroger ou rejoindre une autre vue. Bouclage requis? Par conséquent, je souhaite joindre la table de demande d'ID initiale avec le résultat de l'autre table interrogée.

Dans l'image ci-dessous, la première table contient l'ID que l'utilisateur souhaite rechercher. La deuxième table doit être interrogée par les valeurs LookupNumber qui ont été extraites de la table A.

La troisième table montre la sortie désirée: enter image description here

Le problème que j'ai est comment puis-je boucle (si nécessaire) à travers le LookupNumber une fois que l'ID de recherche a été adoptée? Je ne sais pas quelles méthodes je devrais utiliser pour cette tâche.

Parce que sqlfiddle ne semble pas fonctionner, je mets les tableaux ci-dessus de capture d'écran dans cette link

Espérons que vous pouvez me donner quelques idées comment résoudre ce problème.

+0

Je ne comprends pas ce qui est demandé ici, vous avez produit votre « sortie désirée » avec le code SQL dans votre exemple lié ...? Qu'est-ce que tu veux que nous fassions? – iamdave

+0

la question est comment faire une boucle sur la colonne LookupNumber qui est retournée dans la première requête. – ratanmalko

+0

SQL ne boucle pas vraiment sur les enregistrements de la manière que vous suggérez, et vous n'avez pas non plus expliqué le but de cette 'boucle'. Quelle est votre sortie désirée, sinon ce que vous avez déjà dans votre question? Soit vous avez d'autres exigences que vous n'avez pas expliquées ou vous avez déjà la sortie désirée et n'avez pas besoin d'aide. – iamdave

Répondre

0

Quelque chose comme cela devrait fonctionner:

select t1.*, t2.* 
from table2 t2 
inner join (
    select ID, Subject, Project, LookupNumber 
    from table1 
    where id = <entered id> 
) t1 on t1.LookupNumber = t2.LookupNumber