IF(COUNT(c)=NULL,0,2)

Setti

Новичок
IF(COUNT(c)=NULL,0,2)

IF(COUNT(c)=NULL,0,2) выдает NULL если COUNT(c) = NULL
А нужно чтобы выдавало 0
 

Major

Новичок
А разве COUNT() возвращает не число??? Как может COUNT(c) = NULL ? Он же вернет 0 или число отличное от нуля.

о_О
 

akd

dive now, work later
Команда форума
и стоит почитать немного о том, что такое NULL.
 

Setti

Новичок
LEFT JOIN (

SELECT * , IF(COUNT( comments.test_id ),0,1) AS commcount
FROM comments
GROUP BY comments.test_id
) AS comjoined ON tests.test_id = comjoined.test_id
 

Setti

Новичок
:)
Вот полный работающий запрос, который выдает NULL для commcount:

SELECT tests.test_id, tests.test_description, tests.username, tests.test_name, comjoined.commcount, questjoin.questcount
FROM tests
LEFT JOIN (

SELECT * ,
COUNT( comments.test_id ) AS commcount
FROM comments
GROUP BY comments.test_id
) AS comjoined ON tests.test_id = comjoined.test_id
INNER JOIN (

SELECT * , COUNT( questions.test_id ) AS questcount
FROM questions
GROUP BY questions.test_id
) AS questjoin ON questjoin.test_id = tests.test_id
GROUP BY tests.test_id
 

Gas

может по одной?
:)
а left join что по твоему делает, когда не находит связь? в главный select добавляй условие если нужно число, а не в подзапрос.
 
Сверху