Задать вопрос
@Farrien
Tell me who

Как вывести количество записей из трех таблиц?

Есть три таблицы (на данный момент). Одна юзеры, вторая и третья уже про данные юзеров. Мне нужно в одном запросе взять данные юзеры (с таблицы юзеров) и количество записей связанных с id юзеров с остальных таблиц.
По идее два COUNT должно быть, но у меня не получается. А получается умноженное количество какое то. Две последние таблицы имеют author_id, то есть это id юзера.
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 2
@CHolfield
SELECT (Table1.COUNT(1) + Table2.COUNT(1) + Table3.COUNT(1)) AS COUNTER
FROM Table1,Table2,Table3
Ответ написан
Комментировать
@Vitsliputsli
WITH discussion_count AS (
    SELECT count(*) cnt FROM discussion WHERE author_id=?
),
discussion_messages_count AS (
    SELECT count(*) cnt FROM discussion_messages WHERE author_id=?
)
SELECT 
        p.name, dc.cnt discussions, dmc.cnt dcount
    FROM people p, discussion_count dc, discussion_messages_count dmc
    WHERE p.id=?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы