3

この質問にどのようにタイトルを付けるか本当にわかりません...次のようなテーブルがあると想像してください。

object | attribute | value
------------------------------
   7     country     Germany
   7     position    12
   7     points      12
   8     country     Germany
   8     position    10
   8     points      3

ここで、国がドイツで、位置が 12 または 5 であるすべてのオブジェクト識別子を選択したいと考えています。

このクエリの書き方がわかりません。可能ですか?

4

2 に答える 2

4

追加のクエリ オプションが必要な回数だけ参加します。

SELECT t1.object
FROM table t1
    INNER JOIN table t2 ON t1.object = t2.object
WHERE t1.attribute = 'country' AND t1.value = 'Germany'
    AND t2.attribute = 'position' AND t2.value IN (12,5)
于 2012-11-04T10:50:38.270 に答える
3

テーブルをそれ自体と結合する必要があります。

SELECT *
FROM foo l
JOIN foo r ON l.object=r.object AND r.attribute='position'
WHERE l.attribute='country' AND l.value='Germany' AND r.value IN (5,12)
于 2012-11-04T10:49:43.353 に答える