Я работаю над хранимой процедурой, и я пытаюсь уменьшить размер блоков IF и задался вопросом, можно ли определить предложение GROUP BY на основе параметра. Я покажу вам, что я имею в виду:Могу ли я определить предложение GROUP BY на основе параметра?
Это не SQL-код, но написано как то, что я пытаюсь для того чтобы достигнуть ...
SELECT...
GROUP BY
IF @groupBy = 0
DATEPART(yy, MyDBDateField)
ELSEIF @groupBy = 1
DATEPART(yy, MyDBDateField),
DATEPART(m, MyDBDateField)
ELSE
DATEPART(yy, MyDBDateField),
DATEPART(m, MyDBDateField),
DATEPART(d, MyDBDateField)
Итак, я пытаюсь группировать мои данные либо по году, месяцу или дню в зависимости от параметра. Звучит просто, но похоже, что мне нужно скопировать-вставить заявление в блоки IF.
Любая помощь приветствуется - спасибо!
Это замечательно! Спасибо gbn. Я попробую это прямо сейчас. –