0

ここにこのクエリがあります:

SELECT formam.*, SMS_MONTIME1.IDTICKET, SMS_MONTIME1.MBYLLUR,SMS_MONTIME1.time_added
FROM formam 
LEFT JOIN SMS_MONTIME1 ON formam.ID = SMS_MONTIME1.IDTICKET WHERE SMS_MONTIME1.IDTICKET =''
    or SMS_MONTIME1.IDTICKET is null
    AND dyqani_pergjegjes=$dyqanip
ORDER BY formam.data_fillim DESC

問題は、正常に機能しましたが、条件を追加する AND dyqani_pergjegjes=$dyqanipと機能しなくなり、エラーは発生しませんが、目的の結果が得られないことです。

誰か助けてください

4

1 に答える 1

1

これにより、問題が解決されます。

SELECT formam.*, SMS_MONTIME1.IDTICKET, SMS_MONTIME1.MBYLLUR,SMS_MONTIME1.time_added
FROM formam 
LEFT JOIN SMS_MONTIME1 ON formam.ID = SMS_MONTIME1.IDTICKET WHERE SMS_MONTIME1.IDTICKET =''
    OR (SMS_MONTIME1.IDTICKET is null
    AND dyqani_pergjegjes=$dyqanip)
ORDER BY formam.data_fillim DESC

私が変更したのは、括弧を付けたことです

SMS_MONTIME1.IDTICKET が null であり、かつ dyqani_pergjegjes=$dyqanip

OR と AND の優先順位が正しくなるようにします。

于 2013-07-17T14:25:37.833 に答える