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]   

> Без описания
Arcoslov
Отправлено: 06 Ноября, 2015 - 11:17:47
Post Id


Новичок


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


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




Здравствуйте.
Помогите, пожалуйста, написать запрос )

Дано:
table1: id, column1, number
table2: id, column1, column2

id - это id,
остальные данные не уникальные и могут повторяться сколько угодно раз.

Из таблицы table1 нужно ссумировать все значения table1.number, которые имеют table1.column1 такое, которое в table2.column1 равно заданному нами значению в table2.column2

Например:

table1:
id, column1, number
1, 1, 1
2, 2, 2
3, 4, 3
4, 3, 4

table2:
id, column1, column2
1, 1, 1
2, 2, 2
3, 2, 1
4, 3, 1
5, 1, 2

Мы задаём на вход table2.column2 = 1
этому числу соответствуют:
table2.column1 = 1 (строка 1)
table2.column1 = 2 (строка 3)
table2.column1 = 3 (строка 4)

в table1.column1 этим числам соответствуют строки 1, 2 и 4, суммируем значения number этих строк, получаем: 1+2+4=7.

Надеюсь, описал понятно Закатив глазки
(Добавление)
Подозреваю, что как-то так:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SUM ( `number`) FROM `table1` WHERE `table1`.`column1` IN (SELECT `table2`.`column1` FROM `table2` WHERE `table2`.`column2` = 5)


Это оптимально?
 
 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