Эти созданные таблицы я работаю с:SQL Оператор Select Запросы
create table Customer2 (cid char(3), cname char(10), primary key (Cid));
create table Employee2
(
eid char(3), ename char(10), salary number(7,2),
mid char(3),
primary key (eid), foreign key (mid) references Employee2
);
create table ArtObject2
(
aoid char(3), atitle char(12), artist varchar(10), pricea number(8,2),
primary key (aoid)
);
create table MakesD2
(
aoid char(3), eid char(3), cid char(3), prices number, dates date,
primary key (aoid, CID),
foreign key (aoid) references ArtObject2,
foreign key (CID) references Customer2,
foreign key (eid) references Employee2
);
Мне нужно написать следующие SQL заявления:
- найти имена клиентов, которые купили наибольшее количество картины.
- Найти клиент, которые купили более чем одна картины после 1-июля-12
- Для каждой картины продается дисплей названия картины, цена оплачивается клиентом и словом «выше, чем в среднем», если картина была продается по цене, чем средняя запрашиваемая цена, и слова «ниже среднего», если картина была продана по цене ниже средней запрашиваемой цены. Для столбца, содержащего слова «выше с запросом» или «ниже запроса», сделайте заголовок «Замечание».
Я попытался это заявление на # 1, но не получилось:
select cname
from customer2
where cid in
(select cid
from makesd2
where prices >=ALL(select prices from makesd2 group by cname)
);
Я попытался это заявление на # 2, но не возвращает все результаты:
select cname
from customer2
where cid in
(select cid
from makesd2
where dates > '1-JUL-12'
group by cid
having count(cid) > 1);
Любая помощь будет оценили. Благодаря
Это для вашей домашней работы? – Zane