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]   

> Описание: sum()
stig
Отправлено: 11 Октября, 2018 - 15:36:27
Post Id


Новичок


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


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




Здравствуйте подскажите как написать запрос)
Есть 4 таблицы,
С одинаковой структурой:
Id; date; some_number

Нужно из каждой таблицы выбрать только те id,
У которых some_number в сумме по четырём таблицам будет равен например «6», за определенный заданный интервал date.

Буду рад любым идеям)
 
 Top
Мелкий Супермодератор
Отправлено: 11 Октября, 2018 - 15:41:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM
  2. (
  3.   SELECT id, some_number FROM tbl1 WHERE date BETWEEN ? AND ?
  4.   UNION ALL
  5.   SELECT id, some_number FROM tbl2 WHERE date BETWEEN ? AND ?
  6.   UNION ALL
  7.   SELECT id, some_number FROM tbl3 WHERE date BETWEEN ? AND ?
  8.   UNION ALL
  9.   SELECT id, some_number FROM tbl4 WHERE date BETWEEN ? AND ?
  10. ) d
  11. GROUP BY id
  12. HAVING sum(some_number) = ?


-----
PostgreSQL DBA
 
 Top
stig
Отправлено: 12 Октября, 2018 - 08:23:37
Post Id


Новичок


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


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




Мелкий пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM
  2. (
  3.   SELECT id, some_number FROM tbl1 WHERE date BETWEEN ? AND ?
  4.   UNION ALL
  5.   SELECT id, some_number FROM tbl2 WHERE date BETWEEN ? AND ?
  6.   UNION ALL
  7.   SELECT id, some_number FROM tbl3 WHERE date BETWEEN ? AND ?
  8.   UNION ALL
  9.   SELECT id, some_number FROM tbl4 WHERE date BETWEEN ? AND ?
  10. ) d
  11. GROUP BY id
  12. HAVING sum(some_number) = ?


Спасибо! Идею понял, но есть еще вопрос, названия полей и их количество должны быть одинаковы во всех четырех таблицах?
я получил ответ на свой запрос - #1248 - Every derived table must have its own alias
Каждый подзапрос должен иметь уникальный псевдоним?

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2.  SELECT tnum FROM
  3.     (
  4.       SELECT tnum, sum(hp10_gamma) AS summa FROM dose_rados WHERE date_change BETWEEN '2018-01-01'  AND  '2018-09-30'
  5.       UNION ALL
  6.       SELECT tnum, sum(dose) AS summa FROM doz_tld WHERE date BETWEEN '2018-01-01'  AND  '2018-09-30'
  7.       UNION ALL
  8.       SELECT tnum, sum(dose) AS summa FROM internal WHERE meash_date BETWEEN  '2018-01-01'  AND  '2018-09-30'
  9.       UNION ALL
  10.       SELECT tnum, sum(dose) AS summa FROM neutron_dose WHERE date '2018-01-01'  AND  '2018-09-30'
  11.     )
  12.     GROUP BY tnum
  13.     HAVING sum(summa) >='6'
  14.        
  15.         #1248 - Every derived table must have its own alias
  16.  
 
 Top
Мелкий Супермодератор
Отправлено: 12 Октября, 2018 - 10:18:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




stig пишет:
названия полей и их количество должны быть одинаковы во всех четырех таблицах?

Количество и типы полей для union all должны быть совместимы между всеми частями union all. К участвующим таблицам никаких требований нет.

stig пишет:
я получил ответ на свой запрос - #1248 - Every derived table must have its own alias
Каждый подзапрос должен иметь уникальный псевдоним?

Да. Обратите внимание, в моём запросе псевдоним указан.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB