我有一個查詢。在這個查詢中,我使用了一個子查詢來從具有不同條件的同一個表中獲取數據,並且在主要查詢中,我提到了用於在子查詢中獲取數據的ID,並將條件表示爲在主查詢中考慮與ID不應該是空的。如果我在主查詢中使用帶有IN子句的單個ID,我的查詢可以正常工作,但是如果我在主查詢中使用多個ID並添加值不應該爲空的子句,則查詢不會給我所需的結果。這是我的查詢哪裏條件不適用於IN子句
SELECT e.id AS `Personal Number`,
e.date AS `Date`,
CONCAT(ep.firstname,' ',ep.lastname) AS `Employee Name`,
IF(ep.sex='M','Male','Female') AS sex,
DATE_FORMAT(p.birthdate,'%m/%d/%Y')AS birthdate,
(SELECT `value` FROM employee_data WHERE history=87 AND DATE=e.date) AS `A`,
(SELECT `value` FROM employee_data WHERE history=603 AND DATE=e.date) AS `B`,
(SELECT `value` FROM employee_data WHERE history=82 AND DATE=e.date) AS `C`,
(SELECT `value` FROM employee_data WHERE history=86 AND DATE=e.date) AS `D`
FROM tbl e
INNER JOIN employee ep ON e.id = ep.id
INNER JOIN tbl2 ap ON ap.date=e.date
INNER JOIN employee_data AS phd ON e.date = phd.date
WHERE (phd.history IN(82,87,603,86) AND phd.value!='') AND ap.date BETWEEN '2013-01-01' AND '2013-09-01'AND e.status!='cancelled'.
我不知道如何處理這個查詢。任何人都可以幫忙在此先感謝
也發佈你的表結構。 –
你有一次subqueried相同的ID? –
什麼是phd.value!=''我認爲你在這裏錯了 – harsh4u