Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Максимальное и минимальное значение таблицы, 3 запроса 
V
    Опции темы
Nаtаshа
Дата 22.5.2014, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 9.10.2011

Репутация: нет
Всего: нет



Помогите пожалуйста. Не могу правильно написать запросы к базе данных.

Даны 3 таблицы

Отдел otdel (id, name)
Товар prod(id, otdel_id, type_id, name, cost)
Тип товара type(id, name)
http://s1.ipicture.ru/uploads/20140522/Y0t67425.jpg
Связаны вот так otdel (id) <=>prod(otdel_id) и prod(type_id) <=> type(id)
1)    Вывести отдел, тип товара, стоимость товара с максимальной и минимальной стоимостью;

Код

 SELECT Table1.name, Table3.name, Table2.cost FROM otdel as Table1, 
         (SELECT otdel_id,type_id, MIN(cost) AS mini,  MAX(cost) AS maxi FROM prod) as Table2 ,
         (SELECT id, FROMtype ) as Table3 
WHERE Table2.otdel_id = Table1.id AND Table3.id = Table2.type_id


2)    Вывести Типы товара у которых количество товаров меньше 3

Код

SELECT* FROM type as Table3,(SELECT type_id as id, COUNT(*) as count_val FROM type  GROUP BY type_id )  as Table2 
WHERE Table2.id= Table3.id AND Table2.count_val  < 3 

3) Вывести список типов товаров с количеством товаров и средней стоимостью в отделе(например фрукты);
Здесь даже не знаю что и писать

Заранее спасибо 


Это сообщение отредактировал(а) Nаtаshа - 22.5.2014, 02:44

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  123.jpg 56,17 Kb
PM MAIL   Вверх
_zorn_
Дата 22.5.2014, 04:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1076
Регистрация: 21.8.2007

Репутация: 2
Всего: 12



2 результата - 1ый минимальная цена, 2 максимальная.
Код

SELECT o.name,t.name,p.cost FROM otdel AS o,prod AS p,type AS t
WHERE o.id=p.otdel_id AND p.type_id=t.id AND (
p.id=(SELECT id FROM prod ORDER BY cost LIMIT 1) OR 
p.id=(SELECT id FROM prod ORDER BY cost DESC LIMIT 1)) ORDER BY cost


Код

SELECT t.name FROM type AS t,prod AS p WHERE t.id=p.type_id GROUP BY p.type_id HAVING COUNT(*)<3


Код

SELECT o.name,t.name,COUNT(*),AVG(p.cost) FROM otdel AS o,prod AS p,type AS t 
WHERE o.id=p.otdel_id AND p.type_id=t.id
GROUP BY p.otdel_id,p.type_id



Это сообщение отредактировал(а) _zorn_ - 22.5.2014, 04:19
PM MAIL   Вверх
Nаtаshа
Дата 22.5.2014, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 9.10.2011

Репутация: нет
Всего: нет



Большое спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.