LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Оператор ...
 Тема: Оператор выбора CASE в запросе
 
 15.06.2007 21:04:41
michel
1 сообщения


Тема: Оператор выбора CASE в запросе
Доброго времени суток, знатоки.
В TransactSQL есть оператор выбора CASE (CASE WHEN ... THEN ... ELSE ... END). При попытке применить его в аксесе получаю ошибку. В связи с чем вопросы: 1) есть ли аналогичный оператор в JetSQL? 2) можно ли где-нибудь найти руководство по JetSQL? Спасибо.


P.S. Общий раздел по запросам
Автор: mich@el от 11.11.2003 13:35:49 Источник ...
 15.06.2007 21:04:41
All
4316 сообщения
1-ый


RE: Оператор выбора CASE в запросе
Select Case keys
Case "key1":
Case "key2":
Case Else:
End Select



P.S. Общий раздел по запросам
Автор: Admin от 0:00:00 Источник ...
 15.06.2007 21:04:41
Alex2
25 сообщения


RE: Оператор выбора CASE в запросе
Тогда как правильно написать запрос типа:

SELECT Банки.банк, case [Счет поступило].сумма
case NOT null: [Счет поступило].сумма
case else: 0
end select
FROM Банки INNER JOIN [Счет поступило] ON Банки.Банк = [Счет поступило].банк
WHERE ([Счет поступило].код=153);

Спасибо


P.S. Общий раздел по запросам
Автор: Alex от 15.12.2003 21:55:49 Источник ...
 15.06.2007 21:04:41
Alex2
25 сообщения


RE: Оператор выбора CASE в запросе
Ну так как правильно написать-то, товарищ Admin?


P.S. Общий раздел по запросам
Автор: Alex от 17.12.2003 15:36:47 Источник ...
 15.06.2007 21:04:41
All
4316 сообщения
1-ый


RE: Оператор выбора CASE в запросе
Если Вы разрабатываете запрос на базе Access, то нужно учесть следуещее.
Во первых, язык запросов SQL в Access отличается от стандартного описания ANSI. Возможно это сделано для того, чтобы уменьшить нагрузку на базу данных, т.к. для разбора сложных запросов требуется значительное время.
Во вторых, для такого класса задач, есть язык программирования VBA. Он будет выполняться быстрее, чем SQL и возможности его выше. Для реализации этой идеи добавьте в таблицу невидимые поля, чтобы запрос выполнять поэтапно.
В третьих, если Вас это не устраивает, то в запросе используйте IIF или Switch.
SELECT Help.*, 3 AS a, IIf([a]=1,2,10) AS b, Switch([a]=1,1,[a]=3,3,[a]=5,6) AS c
FROM Help;



P.S. Общий раздел по запросам
Автор: Admin от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Оператор ...
ПоискПоиск  Список форумовСписок форумов  
right