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 为空并且 dyqani_pergjegjes=$dyqanip

以确保 OR 和 AND 的正确优先级。

于 2013-07-17T14:25:37.833 回答