0

このmysqlテーブルがあります(下の画像のように)。IDでグループ化されたIDを選択したい

ここで:
datakey = label および datavalue = is_member と同時に
、ここで:
datakey = since および datavalue = 20110204

したがって、最終結果は105になります。

どうすればこれを達成できますか?

ここに画像の説明を入力

4

2 に答える 2

2

参加せずにこれを達成できるはずです。 http://www.sqlfiddle.com/#!2/ca8d6/1

SELECT t.id
FROM table_name t
WHERE (datakey = 'Label' AND datavalue = 'is_member') OR (datakey = 'Since' AND datavalue = '20110204')
GROUP BY t.id
HAVING COUNT(datakey) = 2;
于 2013-02-18T19:04:43.570 に答える
1

これはあなたが必要なものを手に入れるはずです

SELECT
  a.id
FROM
  some_table AS a
  JOIN some_table AS b
    ON
      b.id = a.id
WHERE
  a.datakey = 'Label'
    AND
  a.datavalue = 'is_member'
    AND
  b.datakey = 'Since'
    AND
  b.datavalue = '20110204'

ここでの前提は、フィールドidが同じデータセットを参照しているということです。

于 2013-02-18T18:49:11.130 に答える