MYSQL一个复杂的查询select语句

时间:2017-12-11 19:45:06

标签: mysql

Click this to view image

我有3个产品。 76,77,78。我想返回具有不同specifications_id的行,但所有产品必须具有那个specifications_id。

例如: 在上图中,76,77,78各自的specifications_id为1.我想返回该行。

但是在product_id为76的示例中,其items_id为2,其他两个产品(77,78)没有specifications_id = 2.

我知道如何使用一系列循环等来做到这一点,但我很好奇,如果在mysql中有一个更短的方式。

假设此表有几行,我想要所有3种产品中具有相同规格_id的所有产品。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,应该这样做:

select * from myTable where specifications_id in
( 
   select specifications_id from myTable 
   having count(specifications_id) > 2
 )