![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с запросом в 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