где пункт о столбце подсчета - PullRequest
0 голосов
/ 13 июня 2018

у меня есть две таблицы pdc и класс

select roll_no as roll,sum(pdc.amount) as amount,count(amount) as given,
       stu_profile.name,f_name,scholarship,class_id,batch_id,statuss 
from stu_profile left join 
     pdc 
     on pdc.roll=stu_profile.roll_no 
where 1 and class_id!='' and given=0 
group by roll

я хочу условие для столбца count (количество)

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вместо этого используйте having предложение

 . . .
having count(amount) = 0;
0 голосов
/ 13 июня 2018

Тогда ответом на ваш вопрос является предложение having.Но ваш запрос искажен и не будет работать в большинстве баз данных, включая более свежие версии MySQL.

Решение простое: в запросе агрегации единственными столбцами в SELECT должны быть GROUP BY ключи или аргументы для функций агрегирования.

Позвольте мне предположить, что вы хотите:

select p.roll_no as roll, sum(pdc.amount) as amount,
       count(pdc.amount) as given,
       p.name, p.f_name, p.scholarship, p.class_id, p.batch_id, p.statuss
from stu_profile p left join 
     pdc 
     on pdc.roll = p.roll_no 
where 1 and class_id <> '' 
group by roll, p.name, p.f_name, p.scholarship, p.class_id, p.batch_id, p.statuss

Затем вы можете просто добавить что-то вроде:

having given = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...