Проблема в том, где предложение и псевдонимы в MySQL - PullRequest
2 голосов
/ 14 июля 2011

Что не так с этим запросом mysql:

select * 
    from tpa as t1 
    where ( select count(*) 
                from tpa as t2 
                where t1.id = t2.id )

ошибка:

Error Code: 1054. Unknown column 't1.id' in 'field list'

Ответы [ 2 ]

0 голосов
/ 14 июля 2011
select id, count(*) from tpa as t1
group by id

/*If you need a certain count.. add-*/
having count(*) > 2

Вам не нужно использовать подзапрос в любом случае.

0 голосов
/ 14 июля 2011

Я думаю, как отметил Cfreak в комментарии, псевдоним не отображается в подзапросе.

Я также думаю, что вы забыли указать какое-то условие, чтобы ваш count(*) результат был равен некоторому числу (или другому условию):

select * from tpa as t1 
where
(
select count(*) from
(
select * from tpa
)
as t2
where t1.id = t2.c_id 
) = 1

Измените "= 1" на любое числовое условие, которое вам нравится, иначе это будет глупый способ переписать этот гораздо более простой запрос:

select distinct * from tpa

: -)

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