我正在按列搜索記錄,如果它與任何列的列匹配,它必須在行中顯示整列記錄。如何顯示列記錄是否與使用SQL Server的另一個表記錄匹配?
這個問題與我以前的問題類似。但有一些變化,我不能得到結果
這裏是我的表
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
我希望得到整個如果#tempRecord.ItemID
與0中的任何一列匹配,則爲父行
期待輸出
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
我試着用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
你的查詢有一個叫'itemTable'的東西,但它不是你問題的一部分。基於結果看起來是多餘的。 –
@GordonLinoff對不起,我將刪除。我試試另一個以及 –