Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как объединить 2 запроса к базе в один.
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Как объединить 2 запроса к базе в один.

Страниц (1): [1]
 

1. LifePlay - 20 Апреля, 2011 - 04:20:12 - перейти к сообщению
Есть 2 простых запроса к базе данных.

PHP:
скопировать код в буфер обмена
  1.  
  2. mysql_query("SELECT
  3. COUNT(`id`) as `count`
  4. FROM `lifex_commentary`");
  5. mysql_query("SELECT
  6. SUM(`load`) as `load`,
  7. SUM(`view`) as `view`
  8. FROM `lifex_films`");
  9.  


Я пробовал объединить их в один

PHP:
скопировать код в буфер обмена
  1.  
  2. mysql_query("SELECT
  3. COUNT(`lifex_commentary`.`id`) as `count`,
  4. SUM(`lifex_films`.`load`) as `load`,
  5. SUM(`lifex_films`.`view`) as `view`
  6. FROM `lifex_commentary`, `lifex_films`")
  7.  


Ничего не получилось. Результат выдаёт только пустой. Как решить проблему?
2. ams - 20 Апреля, 2011 - 07:11:47 - перейти к сообщению
Например http://www.php.su/mysql/manual/?page=UNION
3. LifePlay - 20 Апреля, 2011 - 17:19:51 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. (
  2. SELECT SUM( `load` ) , SUM( `view` )
  3. FROM `lifex_films`
  4. )
  5. UNION (
  6.  
  7. SELECT COUNT( `id` )
  8. FROM `lifex_commentary`
  9. )


Так тоже не получилось.
4. EuGen - 20 Апреля, 2011 - 17:23:26 - перейти к сообщению
SELECT SUM( `load` ) , SUM( `view` )
FROM `lifex_films`
UNION ALL
SELECT COUNT( `id` ), 0
FROM `lifex_commentary`
5. zardoz - 22 Апреля, 2011 - 00:48:02 - перейти к сообщению
Как вариант результат одной строкой:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SUM( `load` ) , SUM( `view` ),
  2.   (SELECT COUNT( `id` ) FROM `lifex_commentary`)count
  3.  FROM `lifex_films`
  4.  


С уважением.

 

Powered by ExBB FM 1.0 RC1