2016-09-18 3 views
0

次のクエリがあり、AND状態= 1が無視されています.1に等しいのではなく、すべての状態を取得します。MYSQLクエリでAND句が無視されます

$query = " 
       SELECT state, id, variable, name, {$columns->specific}, {$columns->allExcept}, {$columns->specificExclude}, {$columns->relationAllExcept}, repeatable 

       FROM #__epc_fieldsgroups 
       WHERE FIND_IN_SET({$relationRecordId}, {$columns->specific}) 

       OR {$columns->allExcept} != 0 
       AND FIND_IN_SET({$relationRecordId}, {$columns->allExcept}) = 0 

       AND state = 1 
       ORDER BY ordering 
      "; 
+1

私はあなたが括弧を必要と推測すべてを使用して定義する必要があります。 – 1000111

+0

これについて何が重複していますか?完全に異なる構文を持つ完全に異なるクエリです。投稿された解決策は私の問題には有効ではありません。 – user3586610

答えて

0

あなたは、開始と終了の括弧

$query = " 
       SELECT state, id, variable, name, {$columns->specific}, {$columns->allExcept}, {$columns->specificExclude}, {$columns->relationAllExcept}, repeatable 

       FROM #__epc_fieldsgroups 
       WHERE FIND_IN_SET({$relationRecordId}, {$columns->specific}) 

       OR {$columns->allExcept} != 0 
       AND {FIND_IN_SET({$relationRecordId}, {$columns->allExcept}) = 0} 

       AND {state = 1} 
       ORDER BY ordering 
      "; 
+0

このようにすると、構文エラーが発生します。何か不足していますか? – user3586610

関連する問題