Можно ли объединить в одном запросе выборку одних полей и подсчет количества других?

Krotty

Новичок
Можно ли объединить в одном запросе выборку одних полей и подсчет количества других?

При импорте данных из одной базы в другую возник такой вопрос можно ли одним запросом осуществить выборку одних полей и подсчет количества других?

т.е. объединить результат вывода запросов
Код:
SELECT id, text from table1 where parent_id=0;
выборка id статьи и ее текста и
Код:
SELECT parent_id, count(*) from table1 where parent_id<>0 group by parent_id;
выборка количества комментариев к соответствующим статьям...
 

Quessir

Новичок
Так у тебя че, и статьи и коментарии к ним в одной таблице???
 

Quessir

Новичок
Но это же гон. Лучше переделать. Даже необходимо. Представь сколько у тебя будет пустых полей.
 

Krotty

Новичок
Quessir
В новой базе конечно же другая структура.... Не переживай... :)
Фанат
т.е. что-то вроде
Код:
SELECT id, text, count(*) from table1 AS t1 JOIN table1 AS t2 on t1.id=t2.parent_id 
where t1.parent_id=0 and t2.parent_id<>0 group by id;
Выглядит страшновато, жаль проверить сейчас не могу... :)
 

Фанат

oncle terrible
Команда форума
она будет ругаться амбигусами, но это исправишь
 

Николас

Новичок
Что-то не понял, а в чем проблема и зачем имено один запрос? Лучше по чуть-чуть, зато уверенно... А объединить в одном запросе выборку одних полей и подсчет количества других -читсо спортивный интерес...
 

Krotty

Новичок
Николас
Интерес не только спортивный. Основная задача - импорт данных из одной базы с другую. Структура баз естественно разная. Для вставки используется INSERT ... SELECT ... поэтому важно было получить перечисленные данные одним запросом.
Фанат
В итоге получилось c небольшими исправлениями, спасибо!
Код:
SELECT t1.id, t1.text, count(*) from table1 AS t1 JOIN table1 AS t2 
ON t1.id=t2.parent_id 
WHERE t1.parent_id=0 and t2.parent_id<>0 GROUP BY t1.id;
 

Фанат

oncle terrible
Команда форума
непонятно тогда, зачем количество вставлять в другую базу
 

Krotty

Новичок
Фанат
количество комментов хранится в таблице с общей информацией о статье.
Я так полагаю для того, чтобы не дергать таблицу с комментами при выводе информации о статье.
 
Сверху