2013-07-17 2 views
0

여기이 쿼리를 가지고 :SQL 쿼리 문제

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을 추가 할 때, 나는 그래도 오류를 얻을하지 않습니다, 나는 원하는 결과를 얻지 못한다.

누군가의 도움

+1

dyqani_pergjegjes 필드의 유형은 무엇이며, $ dyqanip의 값은 무엇이며, 일반적으로 변수 작업 주위에'''따옴표를 추가합니다. 'dyqani_pergjegjes = '$ dyqanip''? –

+0

오류 메시지가 있습니까? 'formam' 또는'SMS_MONTIME1'은'dyqani_pergjegjes'라는 칼럼을 가지고 있습니까? – bpgergo

+0

괄호를 추가하여 OR 및 AND의 우선 순위가 분명하지 않았습니까? – Luis

답변

1

이 prolly 문제를 해결하겠습니다 : 나는

SMS_MONTIME1.IDTICKET 주위에 괄호를 넣어 내가 변경 무엇

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 

가되는 것은 null로 dyqani_pergjegjes = $ dyqanip

정확한 p OR 및 AND의 근신.