这些都是创建的表,我有工作: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语句:
- 名单的客户谁没有购买任何名称绘画与要价 高于$ 500,000.00
- 找到谁买了最高数量的画的客户的名字
- 对于每一幅画ld显示该画的标题,由顾客支付的价格 以及如果以高于平均要价的价格出售的绘画以及如果绘画出售在绘画上的话“低于平均” 价格低于平均要价。对于持有“要求高于 ”或“低于要求”等字的列制作标题备注。
我想这种说法对#1,但没有结果过多:
select cname from customer2
where cid in (select cid from makesd2
where aoid in (select aoid from artobject2
where pricea <= '500000'));
我想这个语句#2,但没有返回结果:
select c.cname from customer2 c
inner join(select cid, count(*) as bought
from makesd2
group by cid m on m.cid = c.cid
order by m.bought;
我试着这个声明为#3和它的工作,它只是错过了应该是'春'的第一个结果:
select a.atitle, m.prices, 'Higher than average' as "Price" from artobject2 a
join makesd2 m on
a.aoid = m.aoid
and a.pricea > (select avg(pricea) from artobject2)
union
select a.atitle, m.prices, 'Lower than average' as "Price" from artobject2 a
join makesd2 m on
a.aoid = m.aoid
and a.pricea <= (select avg(pricea) from artobject2);
没有冒犯,但我们都可以同意这个标题是可怕的吗?当然,我不知道如何解决它。 –
更改为“请为我完成作业。” – catfood
敌人#3,你说过“如果这幅画的价格比平均要价贵”。整个ArtObject2表的平均价格是多少? – Shiva