Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Привести запрос к виду ms sql  [new]
iamx4nd3r
Member

Откуда:
Сообщений: 39
Добрый день!
Имеется запрос для источника данных формы в Аксесе:
SELECT Счета.*, IIf([Company]![ФормаСобственности] Is Null,[Company]![OrganizationName],[Company]![ФормаСобственности] & " " & [Company]![OrganizationName]) AS OrganizationName
FROM Company RIGHT JOIN Счета ON Company.CompanyID = Счета.Заказчик;


Как переписать его IIf часть через Case?
Уже второй час мучаюсь(

Сообщение было отредактировано: 23 окт 12, 18:02
23 окт 12, 17:55    [13364589]     Ответить | Цитировать Сообщить модератору
 Re: Привести запрос к виду ms sql  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
[Company]![ФормаСобственности] - это что еще такое?

Сообщение было отредактировано: 23 окт 12, 17:56
23 окт 12, 17:55    [13364591]     Ответить | Цитировать Сообщить модератору
 Re: Привести запрос к виду ms sql  [new]
iamx4nd3r
Member

Откуда:
Сообщений: 39
поле ФормаСобственности таблицы Company
В аксесе прекрасно работает с таким синтаксисом обращения к полю.
23 окт 12, 17:58    [13364607]     Ответить | Цитировать Сообщить модератору
 Re: Привести запрос к виду ms sql  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
SELECT 
  Счета.*
  , case when [Company].[ФормаСобственности] Is Null then [Company].[OrganizationName] else [Company].[ФормаСобственности] + ' ' + [Company].[OrganizationName] end AS OrganizationName
FROM Company RIGHT JOIN Счета ON Company.CompanyID = Счета.Заказчик;
23 окт 12, 18:00    [13364613]     Ответить | Цитировать Сообщить модератору
 Re: Привести запрос к виду ms sql  [new]
iamx4nd3r
Member

Откуда:
Сообщений: 39
Спасибо, так сработало!
Надо было смотреть синтаксис поискового оператора case без input_expression, верно?
и для чего можно использовать простой оператор case с синтаксисом
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
?

Хочется добиться понимания и не задавать впредь таких вопросов, поясните, пожалуйста.
23 окт 12, 18:06    [13364660]     Ответить | Цитировать Сообщить модератору
 Re: Привести запрос к виду ms sql  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
iamx4nd3r
и для чего можно использовать простой оператор case с синтаксисом
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
?

Хочется добиться понимания и не задавать впредь таких вопросов, поясните, пожалуйста.
Чтобы не копипастить.

Т.е вместо
case 
  when input_expression = when_expression1 then result_expression1
  when input_expression = when_expression2 then result_expression2
  ...
  when input_expression = when_expressionN then result_expressionN
end

можно написать

case input_expression 
  when when_expression1 then result_expression1
  when when_expression2 then result_expression2
  ...
  when when_expressionN then result_expressionN
end


Сообщение было отредактировано: 23 окт 12, 18:11
23 окт 12, 18:10    [13364685]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить