[英]pass a list to be matched in where/having clause
MySQL表看起來像
product_id material
----------------------
1 A
1 B
1 C
2 A
2 B
3 A
3 B
3 C
3 D
4 A
4 B
4 D
我想要所有具有物料A,B,C的product_id
因此輸出應為1、3
使用分組方式似乎很合適,但是如何傳遞多個材料進行匹配。
要匹配的物料數量可以變化,即第一個查詢可能是物料A,B,C
輸出:1,3
第二個查詢可能針對物料A,D
輸出:3,4
我應該在Hibernate的Java程序中以及MySQL查詢中寫什么查詢?
詢問
SELECT product_id
FROM products
WHERE material IN ('A', 'B', 'C')
GROUP BY product_id
HAVING COUNT(DISTINCT material) = 3;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.