[英]MySQL select max date or null date
我想選擇最大日期或null但它顯示錯誤消息。
錯誤:SQLCODE = -104,SQLSTATE = 42601,SQLERRMC = IS;,MAXE時的情況(日期; CONCAT,DRIVER = 3.64.114
原來的表是
Employee code resignation date
001 1/2/2013
001 1/5/2014
001 null
002 10/10/2000
應該顯示
EMPLOYEE_CODE RESIGNATION_DATE
001 null
002 10/10/2000
這是我的疑問
SELECT EMPLOYEE_CODE,
CASE
WHEN MAX(RESIGNATION_DATE IS NULL)= 0
THEN MAX(RESIGNATION_DATE)
END AS DATE
FROM MT_EMPLOYEE_CONTRACT
GROUP BY EMPLOYEE_CODE;
任何人都可以找出問題所在嗎? 謝謝
任何人都可以找出問題所在嗎?
在這種情況下:
MAX(RESIGNATION_DATE IS NULL)= 0
你正在比較MAX(NULL)=0
因為RESIGNATION_DATE IS NULL
您的查詢應該是:
select emp_code, res_date /* first select null emp_code*/
From Table_name
where res_date IS NULL group by emp_code
UNION
select emp_code, MAX(res_date ) /* select max from non - null emp_code*/
From Table_name
where emp_code NOT IN
(select emp_code From Table_name
where res_date IS NULL)
group by emp_code
編輯
select DISTINCT emp_code, res_date /* first select null emp_code*/
From Table_name
where res_date IS NULL
UNION
select emp_code, MAX(res_date ) /* select max from non - null emp_code*/
From Table_name
where emp_code NOT IN
(select emp_code From Table_name
where res_date IS NULL)
group by emp_code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.