簡體   English   中英

在where / having子句中傳遞要匹配的列表

[英]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;

SQL小提琴演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM