У меня есть существующая хранимая процедура, которая выглядит следующим образом:Нужна IF-ELSE внутри CASE-Когда выбор
SELECT TOP 1
...
CASE PX.Client.value('(Type)[1]', 'varchar(25)')
WHEN 'Sole Proprietor' THEN 'SPR'
WHEN 'Partnership' THEN 'PAR'
WHEN 'Corp (C)' THEN 'COR'
WHEN 'Corp (S)' THEN 'SCO'
WHEN 'LimitedCorp' THEN 'LLC'
WHEN 'Trust' THEN 'TRU'
END AS MyStructure,
...
INTO #Prod
FROM
@XMLIN.nodes('/MyDataset/MyRegistration') AS PX(Client)
Все работает отлично, за исключение мне нужно изменить логику. Прямо сейчас, если Type является «LimitedCorp», MyStructure всегда «LLC». Но мне нужно, чтобы изменить его так, чтобы он подразделяет MyStructure на основе TaxClassification как так (псевдо-код):
...
WHEN 'LimitedCorp' THEN
IF PX.Client.value('(TaxClassification)[1]') == 'Partnership' THEN 'LP'
ELSE IF PX.Client.value('(TaxClassification)[1]') == 'SCorp' THEN 'LLS'
ELSE 'LLC'
WHEN 'Trust' ...
В моем коде .NET это будет кусок пирога! Однако я не очень силен в синтаксисе хранимой процедуры! Благодаря!