0

助けてくれてありがとう。

属性というラベルの付いたテーブルがあります。その表には、製品の項目番号 (ピン) と属性番号があります。ピンの各属性は別の行にあります

元。

pin   attribute
111     4
111     5
111     10
112     4
112     5
...

「属性 = 4 および属性 = 5 の場合はピンを選択」と言うことができるクエリを見つけようとしています。

属性は色、サイズなどです。そのため、赤 (4) でサイズが小さい (5) のすべてのレコードを取得します。

上記の例では、ピン 111 と 112 が返されます。

マイク

4

3 に答える 3

1

これは、次のように使用countするとうまくいくはずですdistinct

select pin 
from attributes
where attribute in (4,5)
group by pin
having count(distinct attribute) = 2

これにより、属性 4 と 5 の両方を持つピンが返されます。

于 2013-07-13T17:50:18.440 に答える
0
select pin,
group_concat(distinct attribute order by attribute) as atts 
from attributes
where attribute in (4,5)
group by pin
having (atts = '4,5');

フィドル

于 2013-07-13T18:49:25.157 に答える