全部分给出,急求助 一个查询汇总的问题
病人表
病人ID
病人姓名
处方单 表
处方单号
病人ID
处方明细
处方单号
药品名称 (如胃康U,阿斯皮林)
药品类别 (如,中药类,西药类) 如胃康U和阿斯皮林是属于西药类的,由在统计的时候要将
这两个合计在西药类里
价格
数量
要解决的问题:
输入病人ID,查询出此病人的处方单,并将病人的对应处方单的明细分类汇总
比如,输入病人号001 假设有三张处方单,则显示
病人号 处方单号 中药类 西药类
001 NO001 50元 20元
001 NO002 20元 80元
001 NO003 10元 60元
各路大侠快帮帮忙啊,应该怎么解决? 小弟十万分的感谢各路英雄相助.
问题点数:0、回复次数:5Top
1 楼fishmans(金脚指)回复于 2005-04-03 23:30:40 得分 0
select a.病人ID,b.处方单号, sum(case c.药品类别 when '西药' then c.价格*c.数量 end )xy,sum(case c.药品类别 when '中药' then c.价格*c.数量 end )zy from 病人表 a,处方单 表 b,处方明细 c where a.病人ID=b.病人ID and b.处方单号=c.处方单号 and a.病人ID ='001' group by a.病人ID,b.处方单号Top
2 楼fly70(午后阳光)回复于 2005-04-04 00:16:00 得分 0
楼上的大侠,那个药品类别是另一个表的,也就是说是不确定的名称,应该怎么办?那CASE是不是就失效了呢?Top
3 楼jackchina(逍遥逸)回复于 2005-04-04 00:17:21 得分 0
我帮你顶顶人气!!!
你能帮我解答一上我的问题吗:关于"保存"命令条件判断?!!! ,我也在线等啊!我是一个大菜鸟,请帮忙!我坚决送出100分
问题在:开发语言/VB/基础类中Top
4 楼of123()回复于 2005-04-04 09:20:14 得分 0
如果是 Access 数据库,支持交叉表查询:
首先在数据库中创建一个查询,包含所有需要的字段:
select 病人表.病人ID,病人表.病人姓名,处方单.处方单号,处方明细.药品类别,出访明细.数量 from 病人表,处方单,处方明细 where 病人表.病人ID=处方单.病人ID and 处方单.处方单号=处方明细.处方单号
然后创建一个交叉表查询:(你可以在 Access 的交叉表查询向导中自己生成)
TRANSFORM Sum(查询1.数量) AS 数量之Sum
SELECT 查询1.病人ID, 查询1.病人姓名, 查询1.处方单号
FROM 查询1
GROUP BY 查询1.病人ID, 查询1.病人姓名, 查询1.处方单号
PIVOT 查询1.药品类别;Top
5 楼fly70(午后阳光)回复于 2005-04-04 21:59:15 得分 0
数据库是SQL SERVER 2000Top




