Ich suche Datensatz für Spalte, wenn es mit jeder Spalte übereinstimmt, muss es den gesamten Spalteneintrag in der Zeile anzeigen.Wie wird der Spalteneintrag angezeigt, wenn er mit einem anderen Tabelleneintrag mit SQL Server übereinstimmt?
Diese Frage ist ähnlich wie meine vorherige Frage. aber es gibt einige Änderungen, dass ich nicht das Ergebnis bekommen
Hier ist mein Tisch
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
Ich will gesamte bekommen Zeile der Eltern, wenn die #tempRecord.ItemID
mit jeder der Spalte in 0 übereinstimmt
Erwartet Ausgabe
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
Ich habe versucht, diese folgende Abfrage mit Hilfe von 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
Ihre Abfrage hat etwas namens "itemTable", aber es ist nicht Teil Ihrer Frage. Es scheint überflüssig aufgrund der Ergebnisse. –
@GordonLinoff sorry ich werde entfernen. Ich versuche auch etwas anderes –