Я хочу обработать условие if или case в столбце join в запросе mysql
select m.Main_Test_Name,sum(datediff(s.job_submit_date,s.job_assign_date))/count(s.Sample_Details_Id) as averagetimetocompleteTest from main_test m inner join sample_details s on m.Main_Test_Id=s.Main_Test_Id group by m.Main_Test_Id;
мой запрос работает нормально (но в некоторых случаях у меня есть дата вставки
job_assign_dateкак
'0001-01-01 00:00:00'
то же самое для
job_submit_date '0001-01-01 00:00:00'
но когда эти даты будут
'0001-01-01 00:00:00'тогда я хочу установить его как null
но это дает мне ошибку
Что я уже пробовал:
Я уже пробовал
как 1)
select m.Main_Test_Name,sum(datediff(s.job_submit_date , case job_submit_date when '0001-01-01 00:00:00' then null else s.job_submit_date,s.job_assign_date))/count(s.Sample_Details_Id) as averagetimetocompleteTest from main_test m inner join sample_details s on m.Main_Test_Id=s.Main_Test_Id group by m.Main_Test_Id;";
2)
select m.Main_Test_Name,sum(datediff(s.job_submit_date,if(s.job_assign_date='0001-01-01 00:00:00',null,s.job_assign_date) s.job_assign_date)/count(s.Sample_Details_Id) as averagetimetocompleteTest from main_test m inner join sample_details s on m.Main_Test_Id=s.Main_Test_Id group by m.Main_Test_Id;
CHill60
"но это дает мне ошибку" ... какая ошибка?
При размещении вопросов, связанных с базами данных, всегда полезно поделиться с нами своей структурой таблиц, некоторыми образцами данных и ожидаемыми результатами(для предоставленных данных)