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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 09:33   #1
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию задачки по sql

помогите решить несколько задачек новичку
нужно вывести кол-во заказов у клиентов, результат должен выглядеть так
кол-клиентов кол-заказов
100 клиентов сделали 1 заказ
50 клиентов сделали по 2 заказа
10 по 3
illyuziy вне форума Ответить с цитированием
Старый 22.01.2012, 12:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Tablica1: IdClient,NameClient
Tablica2: IdZakaz,IdKlient
Код:
SELECT COUNT(*) AS CountClient,T.CountZakaz
  FROM (
    SELECT T1.IdClient,COUNT(*) AS CountZakaz
      FROM Tablica1 T1
        LEFT JOIN Tablica2 T2 ON T2.IdClient=T1.IdClient
      GROUP BY T1.IdClient) T
  GROUP BY T.CountZakaz
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2012, 18:13   #3
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

Спасибо
и еще одна задачка, которую не могу до конца реализовать
допустим есть сеть магазинов в каждой области есть головной магазин допустим ГО Екатеринбург ГО Челябинск... родители
и есть магазины наследники допустим НО Екатеринбург НО Екатеринбург1 НО Первоуральск1 НО Первоуральск2 НО Челябинск НО Сим1 и тд
нужно чтобы запрос выводил общее количество продаж но только филиалы
я смог сделать так
2 ноутбука ГО Екатеринбург
4 монитора ГО Екатеринбург
3 ноутбука НО Екатеринбург1
3 ноутбука ГО Челябинск
2 монитора ГО ЧЕЛЯБИНСК
5 ноутбуков НО Первоуральск1
4 монитора НО Сим1
....
где НО Екатеринбург посути = ГО Екатеринбург НО Челябинск = ГО Челябинск

!!!!!!!!!а надо чтобы выводило так!!!!!!!!

10 ноутбуков ГО Екатеринбург
4 монитора ГО Екатеринбург
3 ноутбука ГО Челябинск
6 мониторов ГО Челябинск
illyuziy вне форума Ответить с цитированием
Старый 24.01.2012, 18:30   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Хоть таблицы опишите..
И что значит
Цитата:
нужно чтобы запрос выводил общее количество продаж но только филиалы
vovk вне форума Ответить с цитированием
Старый 24.01.2012, 19:10   #5
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Хоть таблицы опишите..
И что значит...
это значит нужно чтобы результат выглядел вот так
10 ноутбуков ГО Екатеринбург
4 монитора ГО Екатеринбург
3 ноутбука ГО Челябинск
6 мониторов ГО Челябинск
то есть чтобы результат выводил имя предка но брал суммарное количество заказов потомков и самого предка

таблицы...
t1 (order_id) - заказы
t2 (id_отделения, name_id - имя отделения, a_id - классификатор, b_id- id предка) у ГО a_id = 1 у НО a_id = 2, ГО Екатеринбург b_id= 1 ГО Челябинск b_id = 2
t3 (id_product, name_product)

пример
select name_id
from t2
where a_id = 2 and b_id = 1
запрос выведет НО Екатеринбург, НО Екатеринбург1, НО Первоуральск1, НО Первоуральск2

Последний раз редактировалось illyuziy; 24.01.2012 в 19:12.
illyuziy вне форума Ответить с цитированием
Старый 24.01.2012, 19:28   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

А продукт имеет значение, общее количество заказов по каждому продукту заказанному во всех филиалах? или просто общее количество заказов по всем филиалам?
vovk вне форума Ответить с цитированием
Старый 25.01.2012, 05:13   #7
illyuziy
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
А продукт имеет значение, общее количество заказов по каждому продукту заказанному во всех филиалах? или просто общее количество заказов по всем филиалам?
общее количество заказов в разбивке по продуктам и пофилиально
но это не суть главный вопрос как сделать подзапрос, чтобы выводил филиалы и результаты по региону в целом

Последний раз редактировалось illyuziy; 25.01.2012 в 05:16.
illyuziy вне форума Ответить с цитированием
Старый 25.01.2012, 06:09   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Из вашего описания не понятно как продукт связан с заказом, и как заказ связан с отделением.
vovk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Задачки на Паскале помогите пожалуйста решить 2 задачки, а то отчислят. плиз VADOS2009-1 Помощь студентам 0 03.06.2009 18:11
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15