キーと値のペアからデータを選択しようとしていますが、 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