Я делаю запрос (и длинный, противный извините), чтобы возвращать динамическое обновление значений из системы SAP. Я все понял, но как сделать заголовки столбцов, что я хочу. Они должны быть названы предыдущими 11 месяцами и в этом месяце (или аббревиатурой 3 буквы).Использование динамических значений в AS-части запроса SQL Server
В настоящее время я просто
SELECT ... AS [OCT]
за этот месяц, но через два дня он будет по-другому, и я хотел бы получить запрос автообновление заголовков столбцов каждый раз, когда он запускается ,
Я понял, что я могу использовать переменный я объявивший использовать в своих функциях, чтобы получить имя три имени письма месяца:
DECLARE @last_month DATE = DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 0, 0)
SELECT CONVERT(char(3), @last_month);
вернуть выбранный месяц. Как я могу использовать это в поле «AS»?
Вот что я в настоящее время:
DECLARE @last_two_months DATE = DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0)
DECLARE @last_month DATE = DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 0, 0)
SELECT (a whole mess of things that somehow work) AS [SEPT],
Table.CurrentTotal AS [OCT];
Я хотел бы заменить [OCT] с чем-то, что будет возвращать ОКТ в качестве заголовка столбца в течение следующих двух дней, а затем вернуться NOV в течение следующего месяца , и аналогичным образом изменив [SEPT] на то, что вернет SEP в течение следующих двух дней, затем верните OCT на следующий месяц.
К сожалению, я не очень понимаю, что вы говорите делать. (Я НЕНАВИЖУ ENTER, чтобы СОХРАНИТЬ КОММЕНТАРИЙ). Позвольте мне добавить дополнительную информацию к вопросу. – phroureo
Альтернативно, есть ли способ вернуть имя столбца в виде переменной? Если есть, то я могу заставить его работать. – phroureo