mysql коррелирует количество подзапросов, чтобы возвращать только если count> 0 - PullRequest
2 голосов
/ 10 августа 2011

Я просто хочу получить результаты, если Count> 0 из следующего запроса mysql.

Следующее дает результаты, даже если Count = 0.

SELECT id, Name, 
(
SELECT COUNT(*)
FROM 
(
%actual count query here%
) A WHERE C.id=A.matching_col
) AS Count
FROM t1 C 
WHERE id!=0
ORDER BY Name

Я меняю "WHERE id!=0 AND C.Count!=0" or "WHERE id!=0 AND t1.Count!=0", но там написано" Count is an unknown column ".

Как это сделать?

Ответы [ 2 ]

2 голосов
/ 10 августа 2011

Попробуйте добавить HAVING Count>0 в конец исходного запроса.

Поскольку ваш столбец count является псевдонимом, полученным из другого запроса, я не думаю, что предложение where может использовать его напрямую.

1 голос
/ 10 августа 2011

Я бы назвал ваш второй запрос псевдонимом и сделал бы где-то вроде

select * from 
(   
    select count(*) as cnt from (   

        select * from videos
    ) a
) b
where cnt > 0
...