我需要使用下面的模式创建一个数据库中的几个疑问:几个SQL查询,我无法弄清楚如何写
Patient(**pid**,pname,address,phone)
Ward(**wid**, wname) // wid=Ward id,
Bed(**wid,bid**) // bid=Bed id
Appointment(**apid**,date,result,pid,cid) // cid=Consultant id, pid=Patient id
Consultant(**cid**,cname,clinId,phone) // clinId=Clinic ID
Allocation(**apid**,pid,wid,bid,date,ex_leave,act_leave) //ex=expected, act=actual
的查询是:
- 查找如何每个病房都有许多空置的病床。
- 找到其中它的分配是2013年3月期间,每天做
- 返回那些谁执行最任命谁导致 分配在骨科病房的顾问细节病房。
我试图创建使用视图像这样的第一个:
create view hospital.occupied_beds as
select A.wid,count(*) as o_beds
from hospital.allocation A,hospital.bed B
where A.wid=B.wid and A.bid=B.bid and A.act_leave is null
group by A.wid;
create view hospital.all_beds as
select C.wid,count(*) as all_beds
from hospital.bed C
group by C.wid;
select distinct A.wid,all_beds-o_beds as uo_beds
from hospital.occupied_beds A, hospital.all_beds B
但这种方式不返回,其中所有的床都是空闲的病房。
请帮我:)
谢谢!第二个和第三个查询是完美的。第一个不能正常工作,我会尝试修改它。 – Berlyne 2013-05-06 13:48:11
我修改了上面的查询。让我知道它现在是否有效。再次感谢 – cmbaxter 2013-05-06 14:12:20
,这是完美的! – Berlyne 2013-05-06 15:10:05