2017-07-03 105 views
1

我在下面的表格中搜索大小2.但返回结果后,我得到两行产品ID为1,2。因为产品id 1,2包含大小2.但id 2的产品也包含其他大小。这是3和5。我期待只为大小2.搜索参数的精确匹配mysql

所以,正是我想要的是最终的结果将只包含一个行产品ID 1.因为我只寻找大小2.

那么我应该如何实现这一点。

+0

不错的问题@Yogesh请尝试我的答案。 –

+0

谢谢@Bibhudatta Sahoo –

回答

1

后的研究图斯我得到了解决
尝试此查询: -

SELECT * FROM `product` 
where size in ('2','3','5') and 
product_id not in (select product_id FROM `product` where size not in ('2','3','5')) 

在地方('2','3','5')你必须仅仅通过你的id。
根据您的数据这个查询会产生出把尽可能

enter image description here

我的东西它会帮助你的。

+0

谢谢。这对我有用.. –

+0

@Yogeshk欢迎您。 –

0

您可以group byhaving做到这一点:

select product_id 
from t 
group by product_id 
having min(size) = max(size) and min(size) = 2; 
+0

谢谢这个作品,如果我只搜索大小2.但如果我正在寻找大小2,3,5,那么我会得到两行作为产品ID 1,2。那么这怎么可能呢? –

+0

@Yogeshk。 。 。然后你有一个不同的问题,它应该被问为*问题*而不是*评论*。修改您当前的问题将是无礼的。它会使任何答案无效,并向他们提出低估。 –

+0

是的。非常遗憾。但是我想要在相同的查询中完成相同的结果。这就是为什么我要求评论。 –