У меня есть 2 таблицы со структурой, какDATEDIFF в формате даты
Emp Table
id name
001 Smith
002 Jerry
Leave
sr.no reason from_date to_date request_by status
1 PL 2011-12-11 2011-12-15 001 Declined
2 PL 2011-11-13 2011-11-13 001 Approved
3 PL 2011-10-02 2011-10-05 002 Declined
Теперь я написал этот запрос,
select DATEDIFF(Leave.from_date,Leave.to_date)as cdate,
Emp.id as emp
from Leave left join Emp
on Leave.request_by=Emp.id
дает мне разницу между этими 2 датами, как ...
cdate emp
-4 001
0 001
-3 002
Первое, что связано с этим разницей между «2011-12-11 & 2011-12-15« должно быть 5 лет 5 » число дней подряд отсутствует. Это мы достигаем.
Но мне нужен этот формат в формате даты, например ('% Y% m% d') и +, если разница в дате равна -4, тогда для этого нужно отобразить 4 записи. Поэтому я хочу, чтобы написать запрос, который дает выход, как это ......
cdate emp
2011-12-11 001
2011-12-12 001
2011-12-13 001
2011-12-14 001
2011-12-15 001
2011-11-13 001
2011-10-02 002
2011-10-03 002
2011-10-04 002
2011-10-05 002
Так может кто-нибудь сказать мне, что, как мне нужно, чтобы написать мой запрос, чтобы получить этот вывод?
Это работает ...... Спасибо !!!! – Java
Это действительно простой способ сделать это. Я чувствую себя довольно глупо, поскольку я всегда использовал JOIN для предварительно заполненной таблицы «дат». – nnichols
еще одна вещь, если я хочу отобразить этот вывод для определенного статуса, например, если статус «Утвержден», тогда отображаются только записи, в этом случае, как писать запрос? (См. Таблицу «Оставить») – Java