0

キーと値のペアからデータを選択しようとしていますが、 ANDを使用するたびに Value 列に等しい 1 つのレコードしか表示されませんが、ORを使用しようとすると間違ったレコードが返されます。私はすでにいくつかの調査を行っていますが、残念ながら解決策を見つけることさえできていません。

これが私が試していることです:

    SELECT 
    u.userId
    ,u.[Key]
    ,u.[Value]
    ,u.ReportType
    FROM
    OrderItemu 
    WHERE u.userId = 1 AND u.ReportType = 1 AND u.[Value] = '18000981'

マイテーブル:

 OrderId     UserId     RowId    Key             Value      ReportType
   1         1           1       OrderNumber     18000981   1
   2         1           1       Item            ToyCar     1
   3         1           1       Price           1000       1
   4         1           2       OrderNumber     18000401   1
   5         1           2       Item            Camera     1
   6         1           2       Price           570        1

AND句を使用した場合の結果:

   OrderId   UserId     RowId    Key             Value      ReportType
   1         1           1       OrderNumber     18000981   1

OR句を使用した場合の結果:

 OrderId     UserId     RowId    Key             Value      ReportType
   1         1           1       OrderNumber     18000981   1
   2         1           1       Item            ToyCar     1
   3         1           1       Price           1000       1
   4         1           2       OrderNumber     18000401   1

私が達成したい結果:

 OrderId     UserId     RowId    Key             Value      ReportType
   1         1           1       OrderNumber     18000981   1
   2         1           1       Item            ToyCar     1
   3         1           1       Price           1000       1
4

3 に答える 3