0

これは単純であるべきだと思いますが、行き詰まっています。これは私のDBにあるものです

id   field_value
----------------
41   Blue
42   Blue
43   Blue
43   Sweet
46   Blue   
47   Sweet

のみを持つフィールドを選択する必要があります$colour = blue AND $taste = sweet。Blue と Sweet の両方があるため、基本的には 43 の ID を取得する必要があります。どうやってやるの?

4

3 に答える 3

2

通常、次のようにテストします。

select id
  from table1
 where field_value in ('Blue', 'Sweet')
 group by id
having count (distinct field_value) = 2

= 2リスト内の項目数ですin ()

テスト @ Sql Fiddle を確認してください

于 2012-06-15T07:57:19.900 に答える
0

私が正しく理解していれば; このようなもの:

$colour = (!isset($_GET['colour']) || empty($_GET['colour'])) ? '' : $_GET['colour'];
$taste = (!isset($_GET['taste']) || empty($_GET['taste'])) ? '' : $_GET['taste'];

$query = "SELECT * FROM table WHERE (parameter = '$colour') AND (parameter = '$taste')";
于 2012-06-15T05:01:44.990 に答える
0

クエリ内でクエリを使用します。何かのようなもの;

SELECT id
FROM table
WHERE field_value = 'Blue'
AND
id IN (SELECT id
    FROM table
    WHERE field_value = 'Sweet')
GROUP BY id
于 2012-06-15T05:05:59.043 に答える