SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.12.2010 16:50:56

Герман
Участник
Зарегистрирован: 27.12.2010
Сообщений: 1

Помогите в создании запросов

Надо написать вот такие запросы:
1)Найти самую крупную партию поставки цветов по объему и стоимости
2)Найти самый востребованный и не востребованный вид цветов
3)найти магазин с самым большим объемом реализованных заказов
4)по названию магазина выдать название сортов цветов,которые в этом магазине некогда не реализовывались. 

Сам я в этом к сожалению совсем не разбираюсь...но девушке помощь очень нужна, она не может понять какие таблицы связать нужно для получения результата, за любую помощь за ранее спасибо.

Вот дополнительно скрипт таблиц:

CREATE TABLE postavka
(
INN INT PRIMARY KEY NOT NULL,
FIO varchar2 (20),
adress varchar2 (30),
strana varchar2 (20),
nazv varchar2(20),
tel number(15)
);

CREATE TABLE praj_list
(
list_id INT PRIMARY KEY NOT NULL,
INN INT,
FOREIGN KEY (INN) REFERENCES
postavka (INN),
list_nazv varchar2(30),
list_vid char(30) CHECK (list_vid IN ('срезанные по штучно','цветы в горшочках'))
);

CREATE TABLE sorte
(
sort_id INT PRIMARY KEY NOT NULL,
list_id INT,
FOREIGN KEY (list_id ) REFERENCES
praj_list(list_id ),
sort_nazv varchar2(40),
sotr_strana varchar2(20),
sort_cvet varchar2(30),
sort_kolvo number(5),
sotr_stoim number(10,2)
);

CREATE TABLE magazin
(
mag_naim varchar2(20) PRIMARY KEY NOT NULL,
INN INT,
FOREIGN KEY (INN) REFERENCES
postavka (INN),
mag_adress varchar2(40),
mag_tel number(15)
);

CREATE TABLE zakaz
(
zak_N INT PRIMARY KEY NOT NULL,
mag_naim varchar2(20),
FOREIGN KEY (mag_naim ) REFERENCES
magazin (mag_naim),
ysl_id INT,
FOREIGN KEY (ysl_id ) REFERENCES
yslygi (ysl_id),
zak_date DATE,
zak_vsego number(10,2)
);

CREATE TABLE tov_chek
(
tov_id INT PRIMARY KEY NOT NULL,
sort_id INT,
FOREIGN KEY (sort_id ) REFERENCES
sorte (sort_id ),
tov_kolvo number(5)
);

CREATE TABLE zak_chek
(
tov_id INT NOT NULL,
FOREIGN KEY (tov_id) REFERENCES
tov_chek(tov_id),
zak_N INT NOT NULL,
FOREIGN KEY (zak_N) REFERENCES
zakaz (zak_N)
);

CREATE TABLE yslygi
(
ysl_id INT PRIMARY KEY NOT NULL,
ysl_nazv varchar2(30),
ysl_vid char(30) CHECK (ysl_vid IN ('композиция','сухоцветы','букеты смешанные','букеты невест','цветы в корзинках')),
ysl_stoim number(5,2),
ysl_srokIspolneniya varchar2(20)
)

Отредактированно Герман (28.12.2010 15:42:37)

Неактивен

 

#2 28.12.2010 01:43:21

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите в создании запросов

Ох. Что ж Ваша девушка то ничего не попробует сделать сама sad
Какой смысл учиться, если ничего в голове не останется? sad

Давайте сделаем так — Вы напишете правильную структуру таблиц (так, чтобы
она коррелировала с тем, что на бумажке), а потом вместе составим запросы.
А то совсем не интересно. А так — глядишь, девушка поможет, и что-то да за-
помнится.

Начнем, например, с третьего вопроса, он кажется самым простым:
SELECT mag_name
FROM zakaz
GROUP BY mag_name
ORDER BY SUM(zak_vsego) DESC
LIMIT 1;

Неактивен

 

#3 28.12.2010 14:10:16

Дарья
Участник
Зарегистрирован: 28.12.2010
Сообщений: 3

Re: Помогите в создании запросов

paulus написал:

Ох. Что ж Ваша девушка то ничего не попробует сделать сама sad
Какой смысл учиться, если ничего в голове не останется? sad

Давайте сделаем так — Вы напишете правильную структуру таблиц (так, чтобы
она коррелировала с тем, что на бумажке), а потом вместе составим запросы.
А то совсем не интересно. А так — глядишь, девушка поможет, и что-то да за-
помнится.

Начнем, например, с третьего вопроса, он кажется самым простым:
SELECT mag_name
FROM zakaz
GROUP BY mag_name
ORDER BY SUM(zak_vsego) DESC
LIMIT 1;

Здраствуйте! если zak_vsego убрать,то как расчитывать?select sorte.sort_id,tov_id, (sort_stoim*tov_kolvo) AS vsego
from sorte, tov_chek
where sorte.sort_id=tov_chek.sort_id
Вот я сделала запрос по расчету всей суммы заказа с прайс-листа!

select mag_naim, yslygi.ysl_stoim
from yslygi, zakaz1
where yslygi.ysl_id=zakaz1.ysl_id
order by mag_naim
Здесь я пыталась расчитать сумму услуг,но до конца не получилось)в этом запросе выводится название магазинов и какие заказы у них были)как сделать что сложить стоимость услуг,которые в магазинах предоставлялись?и как потом эти запросы объяденить в один,чтоб расчитать сумму общую?и с остальными запросами как быть?


Прикрепленные файлы:
Attachment Icon Безымянный.bmp, Размер: 568,230 байт, Скачано: 911

Неактивен

 

#4 29.12.2010 05:48:55

FDL45
Завсегдатай
Зарегистрирован: 29.11.2010
Сообщений: 40

Re: Помогите в создании запросов

Для вычисления суммы использовать Sum(`Поле`) as `Поле`smile А потом еще с JOIN пошаманить, чтобы данные из таблиц объединить.

Неактивен

 

#5 29.12.2010 08:10:01

Дарья
Участник
Зарегистрирован: 28.12.2010
Сообщений: 3

Re: Помогите в создании запросов

там не все так просто)))

Неактивен

 

#6 29.12.2010 12:32:50

FDL45
Завсегдатай
Зарегистрирован: 29.11.2010
Сообщений: 40

Re: Помогите в создании запросов

А можно заполучить виды таблиц с данными и что должно на выходе получиться?smile Раз не все так просто

Неактивен

 

#7 30.12.2010 08:39:49

Дарья
Участник
Зарегистрирован: 28.12.2010
Сообщений: 3

Re: Помогите в создании запросов

Я правда сдала курсовой,но мне интересно как надо было написать эти запросы!вот вся инфа по таблицам)))

Отредактированно Дарья (30.12.2010 08:44:05)


Прикрепленные файлы:
Attachment Icon на сайт.doc, Размер: 488,448 байт, Скачано: 768

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson