2012-05-03 12 views
0

even positionおよびcategory_id条件が満たされた以下のクエリでは、レコード が取得されていません。Mysql - なぜANDは考慮されていないのですか?

SELECT `jobs`.* FROM `jobs` 
WHERE (interview_date >= '2012-05-03 17:54:41 +0530') 
    AND (position like '%ROR%' 
    AND category_id = '11' 
    AND experience_id = '5' 
    AND interview_address like '%%') 
ORDER BY interview_date asc 

しかし、category_idとexperience_idの条件が満たされたときと同じクエリで、結果が得られます。私は完全に混乱しています。

SELECT `jobs`.* FROM `jobs` 
WHERE (interview_date >= '2012-05-03 17:55:07 +0530') 
    AND (position like '%%' 
    AND category_id = '11' 
    AND experience_id = '5' 
    AND interview_address like '%%') 
ORDER BY interview_date asc 

私が使用したAND条件だけで2つの条件が満たされたとき、それは結果を返してきました。 ここに何か不足していますか?

ありがとうございました。

+2

以下の解決方法を参照してください:なぜ「%%」のようにしていますか? – dweiss

+0

検索パラメータpositionとinterview_addressはオプションです –

+1

私はあなたの問題を理解していませんが、私が唯一ではないことは明らかです。あなたの質問を更新して、あなたが実際に求めていることを明示してください。 – dweiss

答えて

6

あなたの他の二つの条件:

position like '%%' 

interview_address like '%%' 

は常に真です。

+0

ありがとうございました。私は最初のクエリのレコードを取得する必要があります。私は、位置 'RORの開発者'とcategory_id = '11'とexperience_id = '5'のレコードを持っています。本当。 –

関連する問題