Теперь, прежде чем вы сходите с ума от этого вопроса и начинаете критиковать этот способ мышления, позвольте мне сказать вам, что я согласен с вами, этот полностью ненормализованный дизайн базы данных отвращает меня так же, как и Следующий человек, однако, должен работать с ним, поэтому давайте доберемся до него.Как связать имя столбца для оператора Select в SQL Server
Существует база данных, состоящая из 12 столбцов, по одному на каждый месяц в году (я знаю, я знаю ..), на самом деле 24 столбца, когда вы считаете те, которые определяют, что входит и что выходит.
Они помечены MONTH1, Month2 и т.д. Как и следовало ожидать ..
Я пытаюсь найти способ систематически выбрать столбец, основанный на, жди его, да! Значение месяца, так что 1 за январь, и т.д ..
До сих пор это не сработало:
SELECT Month+1 ...
Или это:
SELECT [email protected]
Таким образом, хотя мой первый вариант был бы в построить хорошую базу данных, у меня нет средств, и даже если бы я это сделал, мне было бы не позволено.
Итак, есть ли способ разобраться в этом? Без необходимости создания 24-х корпусного шкафа Select Case?
У вас есть смысл, и я боюсь, что в конце концов мне придется пойти с чем-то подобным. Я думаю, что что-то простое, как это должно быть реализовано в SQL Server. Хотя я уверен, что есть очень веские причины для этого не быть. – user1676874
Вы также можете использовать динамический SQL, но если это выполняет задание, я рекомендую идти этим путем и использовать только динамический SQL в качестве последнего средства. –
Есть ли проблема с использованием динамического SQL? Не говоря, что я собираюсь, я просто заинтригован. – user1676874