说明:表一《处方》 包含字段:药品名称 药品金额 结算收据号
表二《处方明细》 包含字段:开药医生 医生代码 药品名称
表三《药房》 包含字段:发药日期 医生代码 结算收据号请统计每个医生一个月所开金额最大的五种药品
表二《处方明细》 包含字段:开药医生 医生代码 药品名称
表三《药房》 包含字段:发药日期 医生代码 结算收据号请统计每个医生一个月所开金额最大的五种药品
解决方案 »
- 远程访问sql 2000问题
- 急急急!请哥哥姐姐门前来指点,谢谢!
- 连接同一局域网数据库失败,提示:[DBNETLIB][ConnectionOpen (PreLoginHandshake()).]一般性网络错误.请检查网络文档
- 求大神帮看下这个sql语句的具体意思
- 怎么把图片以二进制形式存入数据库中啊(sql server)
- job(删除日志)
- 数据库专家进来,数据库的允许为空和默认值问题
- 当前数据库中的记录,怎么让生成Sql语句,这样我就可以把这些记录用Insert的方法,把记录转移到另外的数据库中.
- 本地数据库比服务器数据库慢,为什么?
- java查询sql server2000的问题?
- 想请教个很菜的问题。
- 大家进来看看~~~
(
select
a.药品金额,b.药品名称 ,c.发药日期
from
表1 a,表2 b,表3 c
where
a.药品名称=b.药品名称 and b.医生代码=c.医生代码 and a.结算收据号=c.结算收据号
)
SELECT
*
FROM
f AS T
WHERE
ID IN(SELECT TOP 2 ID FROM f WHERE month(发药日期)=T.(发药日期) ORDER BY 药品金额 DESC)
(
select
a.药品金额,b.药品名称 ,c.发药日期
from
表1 a,表2 b,表3 c
where
a.药品名称=b.药品名称 and b.医生代码=c.医生代码 and a.结算收据号=c.结算收据号
)
SELECT
*
FROM
f AS T
WHERE
ID IN(SELECT TOP 2 ID FROM f WHERE month(发药日期)=month(T.发药日期) ORDER BY 药品金额 DESC)
from into #tmp [处方] t1,[处方明细] t2,[药房] t3
where t1.药品名称=t2.药品名称 and t1.结算收据号=t3.结算收据号
and t2.医生代码=t3.医生代码 and t3.发药日期 between 月开始 and 月结束
group by t2.医生代码,t2.开药医生,t1.药品名称 --统计每个医生一月的药品金额,名称select * from #tmp a
where 药品名称 in (select top 5 药品名称 from #tmp where 医生代码=a.医生代码 order by 药品金额 desc)