[英]Filter with SQL Server by Group ID
我有兩個表,我需要按過濾器 id 過濾數據,這取決於與過濾器組 id 的關系。
例如我有這兩個表:
表格1:
物品編號 | 過濾器ID |
---|---|
3 | 122 |
3 | 123 |
3 | 4 |
17 | 123 |
表 2:
過濾器ID | 過濾組ID |
---|---|
122 | 5 |
123 | 5 |
4 | 1 |
所需的 output:
我對這個查詢有點迷茫,我很高興能得到一些幫助。
似乎Table2
與該問題沒有任何相關性。 過濾器屬於哪個組沒有區別,您只想知道哪個ItemID
與您的輸入中的過濾器行匹配。
然后這變成了帶余數的關系除法問題。
如果您將輸入存儲在表變量或表值參數中,那么您可以使用正常的關系除法技術
SELECT
t1.ItemID
FROM Table1 t1
JOIN @FilterInput fi ON t1.FilterID = fi.FilterId
GROUP BY
t1.ItemID
HAVING COUNT(*) = (SELECT COUNT(*) FROM @FilterInput);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.