我有一個使用WHERE子句的查詢。使用MySQL WHERE子句
我的查詢:
SELECT * FROM notifications WHERE recipient= '".$_SESSION['id']."' AND viewed >
'".$twoweeksago."' OR viewed IS NULL ORDER BY recieved DESC
基本上,查詢選擇數據的所有行收件人登錄和查看用戶的日期不到兩週($ twoweeksago是一個變量集我腳本)。但是,對於觀看欄默認爲0000-00-00 00:00:00所以我只好用:
OR viewed IS NULL
這就產生了一個問題。我認爲這是隻適用於以前的狀態的條件,那就是:
AND viewed > '".$twoweeksago."'
但是,它實際上是整個WHERE子句和空隙以前所有條件的OR。我怎樣才能寫出一個OR條件,隻影響&查看>'「。$ twoweeksago。''
謝謝!
您是否嘗試過在'views>'中添加圓括號'$ twoweeksago。「'OR查看IS NULL'? –
您可以強制條件以您選擇的括號的順序進行評估 - 在本例中爲WHERE收件人... AND(查看> ...或查看IS NULL)' – andrewsi