У меня не такая сложная проблема для SQL Server Expertise.Хотя у меня есть другая альтернатива, но я хочу знать, что это можно решить с помощью оператора CASE в SQL Server 2005.
У меня есть различные таблицы категорий с одинаковыми столбцами.Что мне нужно, это позвонить SELECT заявление на основе категории.Ниже приведен код, который я пытаюсь сделать
ALTER PROCEDURE [dbo].[Sgi_DropDownListItemsLoadByTblName]
@Category int
AS
BEGIN
SET NOCOUNT ON;
CASE
when @Category = 1 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Denomination
when @Category = 2 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Drink
when @Category = 3 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Education
when @Category = 4 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Ethnicity
when @Category = 5 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Kids
when @Category = 6 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Religion
when @Category = 7 Then Select [ID],[OptionText],[Description] From dbo.Sgi_ListItems_Smoking
end
END
Когда я пытаюсь создать этот SP, генерируется ошибка в операторе CASE
Я знаю, что это можно сделать, используя просто оператор IF, но мне не терпится узнать, как это можно сделать с помощью оператора CASE.
Может ли кто-нибудь мне помочь.
Спасибо, что поделились своим временем.