Мне нужно написать хранимую процедуру, которая принимает 2 параметра даты, суммирует некоторые данные для этой даты и возвращает строку с датами inbetween как столбцы.SQL, как выбрать даты между двумя параметрами даты как столбцы в хранимой процедуре
Im не уверен, с чего начать.
Допустим, моя хранимая процедура выглядит следующим образом:
spGetAccountBalanceByDay(DateTime startDate, DateTime endDate)
Я хотел бы имя столбца быть отформатирован следующим образом: Р- {0} {1} {2}, где {0} = год , {1} = Месяц и {2} = День.
поэтому на дату 13/12/2014 моя колонка будет называться f_2014_12_13. У меня есть источник данных, который имеет динамические свойства, которые соответствуют (поскольку рассматриваемая сетка может быть запущена для любого диапазона дат)
Итак, в хранимой процедуре SQL я хочу, чтобы цикл между двумя датами суммировал баланс счета для каждого даты и поместите данные в столбец за этот день.
Так что моя таблица будет выглядеть примерно так, возвращаемый хранимой процедурой:
Account Ref | F_2014_12_13 | F_2014_12_14 | F_2014_12_15
------------------------------------------
ABB001 100 150 0
Эти запросы могут возвращать одну или несколько строк, я просто нужно знать, какие функции в SQL я должен искать в использовании, Я знаю, что он может выбирать столбцы динамически, просто не уверен, как это сделать.
Любые советы будут оценены.
Which ** RDBMS ** вы используете? –
SQL Server 2012 R2. сделав еще несколько исследований, теперь похоже, что Pivot может быть ответом, но я его не использовал – WraithNath
добавить пример данных и желаемый результат. Pivot - это то, что вам нужно –