Это похоже на некоторые другие вопросы здесь, но те используют CASE, который я не могу. Это на Oracle, и я буду запускать запрос с листа excel. (И, кстати, они не поддерживают WITH, что значительно усложняет жизнь)SQL: Group By по диапазону динамических значений
У меня есть ряд дат в одном большом столе - например 1/3/2011, 5/5/2012, 7/1/2013 , 9/1/2013 ..... Затем у меня есть еще один стол с часами, отработанные сотрудниками в определенные даты. Так что мне нужно сделать, это получить количество часов, отработанных каждым сотрудником за каждый промежуточный период времени. Таким образом, таблицы, как
Dates
1-May-2011
5-Aug-2011
4-Apr-2012
....
и другой
Employee Hours Date
Sam 4 1-Jan-2011
Sam 7 5-Jan-2011
Mary 12 7-Jan-2012
Mary 5 12-Dec-2013
......
поэтому результат должен быть
Employee Hours In Date Range Till
Sam 11 1-May-2011
Sam 0 5-Aug-2011
Sam 0 4-Apr-2012
Mary 0 1-May-2011
Mary 0 5-Aug-2011
Mary 12 4-Apr-2012
....
Любые указатели о том, как добиться этого, пожалуйста?
У вас есть ошибка в желаемом результате. Вопрос: какая-то конкретная реализация/вкус/сервер? – Amit
, если он находится на Oracle, не следует ли его помечать? – Beth
Хмм, я не вижу ошибки. – user2689782