oracle SQL -返回包含多个值的产品[重复]

cgh8pdjw  于 2023-11-17  发布在  Oracle
关注(0)|答案(1)|浏览(121)

此问题在此处已有答案

SQL get record when finding in 2 records(2个答案)
15天前关门了。
我想查询什么产品包含3个不同的部分。必须包含所有3个部分,并返回产品名称。如果产品1有部分a,B和c,返回“产品1”
这是我的数据结构:enter image description here它是一个Oracle数据库。
我感谢任何帮助!我找不到答案,所以请直接告诉我,如果这已经回答。谢谢!
从表中选择产品,其中部分如“a和b和c”

slwdgvem

slwdgvem1#

你可以通过这个查询来完成:

SELECT Product
FROM your_table_name
WHERE Part IN ('a', 'b', 'c')
GROUP BY Product
HAVING COUNT(DISTINCT Part) = 3;

字符串
这将只返回产品值包含所有这些部分的列的产品值。在筛选条件WHERE Part IN ('a', 'b', 'c')中,您选择了具有这些值的所有行。在下一行GROUP BY Product中,您将具有相同产品名称的行合并到一个组中。这对下一行很有帮助,HAVING COUNT(DISTINCT Part) = 3;在这里,你过滤分组的结果,只抓取正好有3个不同部分的记录-在本例中是a、b和c。

相关问题