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 :: Сложные и вложенные запросы SQL

 PHP.SU

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


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

> Без описания
vlom
Отправлено: 03 Августа, 2011 - 08:06:16
Post Id



Частый посетитель


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


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




есть четыре вот такие таблички
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE `db`.`customers` (
  2. `id` INT NOT NULL AUTO_INCREMENT ,
  3. `name` VARCHAR(45) NULL ,
  4. PRIMARY KEY (`id`) )
  5. ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;
  6.  
  7. CREATE TABLE `db`.`orders` (
  8. `id` INT NOT NULL AUTO_INCREMENT ,
  9. `customer_id` INT NULL ,
  10. PRIMARY KEY (`id`) )
  11. ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;
  12.  
  13. CREATE TABLE `db`.`products` (
  14. `id` INT NOT NULL AUTO_INCREMENT ,
  15. `title` VARCHAR(255) NULL ,
  16. PRIMARY KEY (`id`) )
  17. ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;
  18.  
  19. CREATE TABLE `db`.`order_product_rel` (
  20. `id` INT NOT NULL AUTO_INCREMENT ,
  21. `order_id` INT NULL ,
  22. `amount` INT NULL ,
  23. PRIMARY KEY (`id`) )
  24. ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;


необходимо вывести вот такие запросы
1) Написать SQL запрос для получения списка всех клиентов и количества заказов, сделанных каждым клиентом (у некоторых клиентов может не быть заказов).
2) Написать SQL запрос для получения уникальных наименований товаров, которые ни разу не были заказаны клиентами.
3) Вывести имена клиентов, сделавших более 5-ти заказов.
 
 Top
biperch
Отправлено: 03 Августа, 2011 - 10:53:30
Post Id



Частый посетитель


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


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT c.id, c.name FROM consumer с, orders o WHERE count(o.id)>4 AND c.id=o.customer_id

(Отредактировано автором: 03 Августа, 2011 - 10:59:21)

 
 Top
vlom
Отправлено: 03 Августа, 2011 - 11:58:26
Post Id



Частый посетитель


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


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




biperch Invalid use of group function
(Добавление)
В запросе приведенном biperch как-то можно использовать HAVING, но как разобраться не могу
 
 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