LINUX.ORG.RU

Sql Count

 , ,


0

2

Всем привет. Есть запрос который выдает мне определенную выборку, но вот почему-то столкнулся с проблемой подсчитать количество записей что выдала выборка. Не подсобите советом?


SELECT t1.id as id, title, description FROM table1 t1 
 JOIN table2 t2  ON t1.id = t2.t1_id 
 WHERE t2.t3_id IN( SELECT id FROM table3 WHERE parent_id IN ( SELECT id FROM table3 WHERE parent_id = 1)) GROUP BY t1.id


Ответ на: комментарий от theNamelessOne

За счет внутренней выборки выдает столбик чисел которые по идеи каждое из чисел это колв-во элементов с table2 которые ссылаются на конкретный элемент table1.

Berdin ()

а почему все джойнами не переписать? SELECT t1.id as id, title, description FROM table1 t1 JOIN table2 t2 ON t1.id = t2.t1_id join table3 as t3c on t2.t3_id=t3c.id join table3 as t3p on t3c.parent.id=t3p.id WHERE t3p.parent_id = 1 group by t1.id;

ну и потом где то так

SELECT count(t1.id) FROM table1 t1 JOIN table2 t2 ON t1.id = t2.t1_id join table3 as t3c on t2.t3_id=t3c.id join table3 as t3p on t3c.parent.id=t3p.id WHERE t3p.parent_id = 1 group by t1.id;

Jaberwock ★★★ ()

А напиши табличкой что должно быть в результате?

Jaberwock ★★★ ()
Ответ на: комментарий от Jaberwock

Решил проблему, сделал

SELECT COUNT(*) FROM (весь мой запрос выше) t
где t это я назначил ему alias.

Berdin ()

GROUP BY t1.id мешает. В результате запрос должен выдавать количество строк с разными t1.id

vromanov ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.