Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2014, 10:08   #1
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
По умолчанию Помощь с запросом

Ребят, прошу помощи, замучался уже, дошёл до следующего запроса:
Код:
SELECT 
  --filing.id_category,
  --filing.id_flag,
  --filing.plan_id_category,
  --filing.fact_id_category,
  --filing.fact_id_flag,
  class.name,
  staff.name,
  SUM(conformity.half1),
  SUM(conformity.half2)
FROM schemefood.filing INNER JOIN schemefood.staff
     ON filing.id_category=staff.id,
     schemefood.conformity, schemefood.student, schemefood.class
WHERE filing.date='06.02.2014'
AND 
  filing.id_student=student.id
AND
  student.id_class=class.id
AND 
  filing.id_student IN 
    (SELECT student.id FROM schemefood.student WHERE student.id_class IN 
       (SELECT class.id FROM schemefood.class WHERE id_uch='15'))
AND 
  filing.id_category=conformity.id_staff
    AND filing.id_flag=conformity.id_flags 
AND filing.id_category=staff.id

GROUP BY 
  class.name,
  staff.name
Как можно увидеть из запроса выше, я сворачиваю результат по классу и ставке, и вывожу общую сумма, всё круто, то что надо, только, нужно ещё сделать так же по тем самым закоментированым колонкам в начале,
с таким же условием:
Код:
AND 
  filing.id_category=conformity.id_staff
    AND filing.id_flag=conformity.id_flags 
AND filing.id_category=staff.id
как сделать, не могу догнать.

Забыл промолвить, база данных PostgreSQL

Последний раз редактировалось Stilet; 05.02.2014 в 10:31.
5cek вне форума Ответить с цитированием
Старый 05.02.2014, 11:15   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
GROUP BY class.name,staff.name
Не очень хорошая идея, в том смысле, что в общем случае для разных ИД может быть одинаковое наименование
Цитата:
как сделать, не могу догнать
тоже не могу догнать. В этом же запросе или в другом?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.02.2014, 11:34   #3
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
GROUP BY class.name,staff.name
Не очень хорошая идея, в том смысле, что в общем случае для разных ИД может быть одинаковое наименованиетоже не могу догнать. В этом же запросе или в другом?
Не с группировкой всё ок, выходит как надо т.е. так:
1а категория1
1а категория2
1б категория1
1б категория2

надо в этом же запросе, но немного покопался, и пришёл к выводу что лучше сделать несколько представлений, а после из них делать один общий селект, и в принципе должно получиться желаемое.
5cek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с SQL запросом DelphiQuestions БД в Delphi 3 22.12.2009 21:17
Нужна помощь с SQL запросом! yoolla SQL, базы данных 9 31.07.2009 23:54
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
Нужна помощь с запросом! rocker PHP 1 22.03.2009 13:15
Нужна помощь с SQL запросом Worms БД в Delphi 3 14.03.2008 12:43