Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с запросом в SQL Server-е [D7, MSSQL]


Guma ©   (2004-08-09 15:06:00) 

В Access запрос(примерно такого типа):
SELECT sum(iif(table1.org=1,1,0)) as kol
FROM table1
работает нормально.
В SQL server-е как можно подсчитать количество org=1 c помощью функции iif ? SQL server на такой запрос ругается:
'Error in list of function arguments: '=' not recognized.
Unable to parse query text.'

P.S.
Можно конечно с помощью where table1.org=1 можно выйти из ситуации, но у меня там куча подсчетов sum, count есть, там условия другие. Все хотелось бы одним запросом просчитать. В других базах (DBISAM, ACCESS) это делается просто. Может есть какой то ньюанс?


Ega23   (2004-08-09 15:49:00) [1]

Analysis Services Overview
Microsoft® SQL Server™ 2000 Analysis Services includes online analytical processing (OLAP) and data mining. Use this table to acquaint yourself with this release of Analysis Services documentation.

А IIF твоя именно оттуда. Так что, скорее всего, справедливо ругается, OLAP не проставлен.


stas_x   (2004-08-09 15:36:00) [2]

Понял направление. Надо попробовать. Хотя в SQL функция IIF присутствует

В MSSQL функция IIF имеет другой синтаксис.


Ega23   (2004-08-09 15:30:00) [3]


Select kol=Sum(Case org when 1 then 1 else 0 end)
from table1


Sandman25   (2004-08-09 15:23:00) [4]

Попробуйте IIF. Я не спец по MS SQL, поэтом унаписал только о том, что знаю.


Guma   (2004-08-09 15:21:00) [5]

Понял направление. Надо попробовать. Хотя в SQL функция IIF присутствует.


Sandman25   (2004-08-09 15:18:00) [6]

А по аналогии сделать слабо?


Guma   (2004-08-09 15:16:00) [7]

sum(iif(table1.org=1,1,0)) as kol


Sandman25   (2004-08-09 15:14:00) [8]

iif(table1.org=1,1,0)

а где тут сумма?


Guma   (2004-08-09 15:11:00) [9]

А где сумма (kol)?


Sandman25   (2004-08-09 15:08:00) [10]

1)case org
when 1
 then 1
else 0
end

2)case
when org=1
then 1
else 0
end


Наверх

Титульная страница Поиск, карта сайта Написать письмо