0
嗨我有一個問題與我的SQL。我的問題是當我過濾數據的日期時,我的SQL語句只返回2個記錄,這是用戶的employee_id。SQL與多個SELECT語句
這是我工作的代碼原有聲明,我在過濾日期:
SELECT * FROM `rmguidef_prs`.`payment_report` WHERE DATE(`Report_Timestamp`) = DATE_ADD(CURDATE(), INTERVAL 24 HOUR) AND Employee_ID IN (
SELECT T1.Employee_ID from `rmguidef_prs`.`employee` T1
WHERE T1.Supervisor_ID = '".$id."')
OR Employee_ID = '".$id."'
這是修改後的聲明,我所需要的過濾器(它的工作確定)
SELECT * FROM `report` WHERE Employee_ID IN (
SELECT T1.Employee_ID from `employee` T1
WHERE T1.Supervisor_ID = '".$id."')
OR Employee_ID IN (
SELECT T2.Manager_ID from `branches` T2
WHERE T2.Manager_ID = '".$id."')
OR Employee_ID = '".$id."'
但是當我加上這個:DATE(
時間戳) = DATE_ADD(CURDATE(), INTERVAL 24 HOUR)
在聲明中過濾日期顯示的唯一記錄來自:OR Employee_ID = '".$id."'
SELECT * FROM `report` WHERE DATE(`Timestamp`) = DATE_ADD(CURDATE(), INTERVAL 24 HOUR) AND Employee_ID IN (
SELECT T1.Employee_ID from `employee` T1
WHERE T1.Supervisor_ID = '".$id."')
OR Employee_ID IN (
SELECT T2.Manager_ID from `branches` T2
WHERE T2.Manager_ID = '".$id."')
OR Employee_ID = '".$id."'
我想通過今天的日期,星期,月份和最近3個月來過濾我修改SQL語句。我已經必須爲這些過濾器編寫代碼,但我無法弄清楚如何將這些添加到我的聲明中。
哦!它可以,因爲時間與提前1天的服務器時間一致。我會看看這是否有效。 – user3771102