Je recherche un enregistrement par colonne, s'il correspond à n'importe qui de la colonne, il doit afficher l'ensemble de l'enregistrement de colonne dans la ligne.Comment afficher l'enregistrement de colonne s'il correspond à un autre enregistrement de table utilisant SQL Server?
Cette question est similaire à ma précédente question. mais il y a des changements, que je ne peux pas obtenir le résultat
Voici ma table
RelationData
Parent child1 child2 child3
------------------------------------
111 112 113 117
111 222 223 224
444 441 442 443
333 331 332 334
888 887 889 885
#tempRecord
ItemID
-----
112
443
888
Je veut obtenir toute ligne de parent, si #tempRecord.ItemID
est associé à une colonne de RelationData
sortie Attendons
ItemID
------
111
112
113
117
222
223
224
//111 is the parent of two row. so it will show 2 rows records
444
441
442
443
888
887
889
885
J'ai essayé cette requête suivante à l'aide de Mr.GordonLinoff
SELECT
v.child ItemID
FROM
RelationData rd outer apply
(values (rd.ID),(rd.ChildID1), (rd.ChildID2), (rd.childID3)) v(child)
INNER JOIN ItemTable Item on item.id = v.child
LEFT JOIN #tempData tt on item.id = tt.Itemid
WHERE
(SELECT Itemid FROM #tempData) IN (rd.ID, rd.ChildID1, rd.ChildID2, rd.childID3)
and v.child is not null
GROUP BY v.child
Votre requête a quelque chose appelé 'itemTable' mais cela ne fait pas partie de votre question. Cela semble superflu sur la base des résultats. –
@GordonLinoff désolé je vais supprimer. J'essaye aussi bien –