2014-12-10 4 views
1

У меня есть вопрос, я хочу, чтобы получить отсчеты разных таблиц в одном запросе, чтобы показать на странице ...Показывать счетчик нескольких таблиц в одном запросе

Этот запрос я написал, но это не обеспечивает правильное результат ..

SELECT COUNT(U.uID) AS total, COUNT(P.cID) AS Catmame FROM `dev_web_user` AS U, `dev_web_categories` AS P 

Пожалуйста, обратите внимание, все количества не зависит, теперь присоединиться и т.д ...

Пожалуйста, помогите мне в этом ...

Спасибо & с наилучшими пожеланиями ,

ответ

0

Вы можете сделать это путем присоединения к ним в двух разных временных таблиц.

Попробуйте так:

SELECT * FROM 
(SELECT COUNT(*) AS total FROM `dev_web_user`) T1 JOIN 
(SELECT COUNT(*) AS Catmame FROM `dev_web_categories`) T2 ON 1=1 

Пример вывода:

TOTAL CATMAME 
4  8 

Смотрите рабочий пример в SQL Fiddle.

+0

отличная работа ... :) – DeDevelopers

0

Так что попробуйте, это:

SELECT 
    (SELECT COUNT(U.uID) FROM `dev_web_user` AS U) as total, 
    (SELECT COUNT(P.cID) FROM `dev_web_categories` AS P) as Catmame; 
+1

Чтение из возвращаемого массива должно быть отменено (по крайней мере, на Oracle) –

+0

, но мне нужно все подсчеты как отдельный столбец колонки сигналов. Возможно ли это? – DeDevelopers

+0

Я отредактировал свой ответ и проверил .. это может быть дубликат: http://stackoverflow.com/questions/3761240/count-from-multiple-tables-in-mysql –