-1

クエリを作成できるフィルター検索に取り組んでいますが、そのAND部分が正しい値を返していません。gpaに対して正しい結果が返されますが、すべてのレコードが返されないため、次数チェックに対して正しい結果が返されません。ここでの「BSCS」フィルターはクエリコードです:

SELECT *
FROM education
WHERE gpa >= 2.10
OR gpa =0
AND degree = 'BSCS'
OR degree = NULL
4

2 に答える 2

7

かっこを追加する必要があるようです。

SELECT *
FROM education
WHERE (gpa >= 2.10 OR gpa =0)
AND (degree = 'BSCS' OR degree is NULL)

句を拡張したい場合はWHERE、次を使用できます。

SELECT *
FROM education
WHERE 
(
  (gpa >= 2.10 OR gpa =0)
  AND (degree = 'BSCS' OR degree is NULL)
)
OR
(
  (gpa is null or gpa ='')
  or (degree is null or degree = '')
) 
于 2013-03-11T18:07:42.553 に答える
0

以下のコードを試してください:

And / OR条件を使用するときは、混乱を避けるために常に括弧を付けてください。また、フィールドがnullかどうかを確認する最良の方法は次のとおりです。WHERE myField IS NULL

SELECT *
FROM education
WHERE (gpa >= 2.10 OR gpa =0 )
AND (degree = 'BSCS' OR degree is NULL)
于 2013-03-11T18:10:22.367 に答える