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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Возможно ли составить такой запрос, если да то как?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Возможно ли составить такой запрос, если да то как?
3d_killer
Отправлено: 12 Декабря, 2013 - 14:47:06
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Есть табличка
id | name | parent | count

нужно собрать массив с данными (выбрать все где parent=0 и отдельно достать сумму поля count где id элемента = count) двойной запрос с суммированием получается пока написал вот что, но понятное дело не работает:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. "SELECT * FROM table_questions innner join (SELECT sum(count) FROM table_questions WHERE table_questions.id=table_questions.parent) AS count_child WHERE parent=:parent order by nomber"
  3.  
 
My status
 Top
Panoptik
Отправлено: 12 Декабря, 2013 - 14:54:28
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




вы бы почитали то что написали, а потом по своим словам попытались понять что нужно сделать...

насколько я понял нужно найти все элементы у которых id = count и parent = 0, потом посчитать сумму столбца count этих элементов ну и дальше вообще не понятно что вам нужно

короче выражайтесь так, чтобы ребенок смог понять


-----
Just do it
 
 Top
3d_killer
Отправлено: 12 Декабря, 2013 - 14:57:45
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




нет нужно выбрать все элемены у которых parent = 0 в то же время к каждому элементу выбрать сумму всех значений count у которых parent=id - текущего элемента
(Добавление)
пример значений
1 | 1.1 | 0 | 0
2 | 1.2 | 0 | 0
3 | 1.3 | 1 | 2
4 | 1.4 | 1 | 3
5 | 1.5 | 1 | 4
6 | 1.6 | 2 | 5
7 | 1.7 | 2 | 6

должен получить массив со значениями:
1 | 1.1 | 0 | (2+3+4)
1 | 1.2 | 0 | (5+6)

ну вроде правильно объяснил
 
My status
 Top
Deonis
Отправлено: 12 Декабря, 2013 - 15:11:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.   `t1`.`id`,
  3.   `t1`.`name`,
  4.   `t1`.`parent`,
  5.   `t1`.`count`,
  6.   SUM(`t2`.`count`) AS `summa`
  7. FROM
  8.   `table_name` `t2`
  9.   INNER JOIN `table_name` `t1` ON (`t2`.`parent` = `t1`.`id`)
  10. WHERE
  11.   `t1`.`parent` = 0
  12. GROUP BY
  13.   `t1`.`id`,
  14.   `t1`.`name`,
  15.   `t1`.`parent`


Ссылочка на рабочий пример

(Отредактировано автором: 12 Декабря, 2013 - 15:13:41)

 
 Top
EuGen Администратор
Отправлено: 12 Декабря, 2013 - 15:13:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.   a.id,
  3.   a.name,
  4.   SUM(b.`count`) AS sum_count
  5. FROM
  6.   t AS a
  7.     LEFT JOIN t AS b
  8.       ON a.id=b.parent
  9. WHERE a.parent=0
  10. GROUP BY a.id

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
3d_killer
Отправлено: 12 Декабря, 2013 - 15:14:00
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




что то тут не то по запросу вижу, к 4 посту

(Отредактировано автором: 12 Декабря, 2013 - 15:14:26)

 
My status
 Top
Deonis
Отправлено: 12 Декабря, 2013 - 15:17:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




3d_killer пишет:
что то тут не то по запросу вижу, к 4 посту
Всё забываю, что на форуме парсер режет хеши в ссылке - вот так перейдете.
 
 Top
3d_killer
Отправлено: 12 Декабря, 2013 - 15:18:04
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




А вот ваш запрос EuGen, то что нужно, спасибо
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB