-1

MySQL ステートメントをまとめる作業を行っていますが、何が問題なのか疑問に思っています。この MySQL ステートメントが機能しないのはなぜですか?

SELECT * 
FROM  `deals` 
WHERE CATEGORY NOT 
IN  'Construction & Repair'
AND (
EXPIRE_DATE >= NOW() 
OR EXPIRE_DATE IS NULL
)
AND LOCATION =  'Melbourne'
AND STATUS =  'Active'
LIMIT 0 , 1000

次のエラー メッセージが表示されます。

#1064 - SQL 構文にエラーがあります。1 行目の ''Construction & Repair' AND ( EXPIRE_DATE >= NOW( ) OR EXPIRE_DATE IS NULL ) AND' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

4 に答える 4

1

括弧に入れて

WHERE CATEGORY NOT 
IN  ('Construction & Repair')
于 2012-09-26T19:32:05.457 に答える
0

あなたの構文が間違っていると思います。

 NOT IN ("item1", "item2")
于 2012-09-26T19:32:16.860 に答える
0

使用する

SELECT * 
FROM  `deals` 
WHERE CATEGORY = 'Construction & Repair'
AND (
EXPIRE_DATE >= NOW() 
OR EXPIRE_DATE IS NULL
)
AND LOCATION =  'Melbourne'
AND STATUS =  'Active'
LIMIT 0 , 1000
于 2012-09-26T19:33:10.730 に答える
0

IN の後のものはすべて括弧で囲む必要があります。

IN('Construction & Repair')
于 2012-09-26T19:33:12.223 に答える