Topic: Помогите с подсчетом суммы

Есть такой SQL запрос

select count(*) from zapravkakioc
where zap1 is '+'
union all
select count(*) from zapravkakioc
where zap2 is '+'
union all
select count(*) from zapravkakioc
where zap3 is '+'
union all
select count(*) from zapravkakioc
where zap4 is '+'
union all
select count(*) from zapravkakioc
where zap5 is '+'
union all
select count(*) from zapravkakioc
where zap6 is '+'
union all
select count(*) from zapravkakioc
where zap7 is '+'
union all
select count(*) from zapravkakioc
where zap8 is '+'

В итоге получаю результат:
count(*)
5
4
4
3
2
2
3
3

Но как суммировать эти результаты, что бы в итоге у меня получилось
count(*)
26

Re: Помогите с подсчетом суммы

попробуйте так

SELECT count(*) FROM zapravkakioc
WHERE 
(zap1 = '+') OR (zap2 = '+') OR (zap3 = '+') OR (zap4 = '+') OR (zap5 = '+') OR (zap6 = '+') OR (zap7 = '+') OR (zap8 = '+')
Dmitry.

Re: Помогите с подсчетом суммы

DriveSoft wrote:

попробуйте так

SELECT count(*) FROM zapravkakioc
WHERE 
(zap1 = '+') OR (zap2 = '+') OR (zap3 = '+') OR (zap4 = '+') OR (zap5 = '+') OR (zap6 = '+') OR (zap7 = '+') OR (zap8 = '+')

В итоге получил:
count(*)
5

Re: Помогите с подсчетом суммы

Попробуйте тогда так

SELECT count(*) FROM zapravkakioc WHERE zap1 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap2 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap3 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap4 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap5 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap6 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap7 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap8 = '+'
Dmitry.

Re: Помогите с подсчетом суммы

DriveSoft wrote:

Попробуйте тогда так

SELECT count(*) FROM zapravkakioc WHERE zap1 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap2 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap3 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap4 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap5 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap6 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap7 = '+'
+ 
SELECT count(*) FROM zapravkakioc WHERE zap8 = '+'

Попробовал но в итоге появляется ошибка near "Select":syntax error.

Re: Помогите с подсчетом суммы

Видимо каждый запрос нужно взять в скобки, т.е.

(SELECT count(*) FROM zapravkakioc WHERE zap1 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap2 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap3 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap4 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap5 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap6 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap7 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap8 = '+')

Если не сработает, приложите пожалуйста ваш проект.

Dmitry.

7 (edited by Bullet3203 2017-03-20 17:48:11)

Re: Помогите с подсчетом суммы

DriveSoft wrote:

Видимо каждый запрос нужно взять в скобки, т.е.

(SELECT count(*) FROM zapravkakioc WHERE zap1 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap2 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap3 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap4 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap5 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap6 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap7 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap8 = '+')

Если не сработает, приложите пожалуйста ваш проект.

В таком случае получилась тоже ошибка near "(":syntax error.
Но я решил проблему доработав запрос

SELECT SUM((SELECT count(*) FROM zapravkakioc WHERE zap1 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap2 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap3 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap4 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap5 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap6 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap7 = '+')
+ 
(SELECT count(*) FROM zapravkakioc WHERE zap8 = '+'))

Теперь все считает как надо, благодарю за помощь!)