我现在在做一个门诊划价的小系统,但我不知道如何实现划价,请高手帮忙
我现在又一张处方表
处方号 处方类型 病人Id 收费项目1 数量1 收费项目2 数量2…… 收费项目4 数量4药品表
药品Id 药品名称 药品价格……
化验项目表
项目ID 项目名称 项目价格
我现在的处方表中,当处方类型是药品时,收费项目就是药品Id,但处方类型是化验时,收费项目就是化验项目Id,但我不知道这些怎么才能用SQL语句实现,请高手帮忙
我现在又一张处方表
处方号 处方类型 病人Id 收费项目1 数量1 收费项目2 数量2…… 收费项目4 数量4药品表
药品Id 药品名称 药品价格……
化验项目表
项目ID 项目名称 项目价格
我现在的处方表中,当处方类型是药品时,收费项目就是药品Id,但处方类型是化验时,收费项目就是化验项目Id,但我不知道这些怎么才能用SQL语句实现,请高手帮忙
解决方案 »
- 关于字段关联
- sql server2000授权问题
- sql 语句中有'怎么办
- 是不是写成 varchar(8000) 要比 nvarchar(4000) 能够写更长的SQL字串?
- MS Server7.0的数据库mdf文件,附加数据库后为什么汉字为乱码?
- 怎么查询数据库里相同的数据?语句怎么写?
- 求各位大大怎么检查插入的数据与中断存储过程中的动作??
- 如何每天备份,每天生成一个目录(日期)\备份文件?
- 只有mdf 和ldf 两个文件的条件下如何恢复以前的数据!!!!!
- sql server2012安装问题,求救!
- 数据库名与127.0.0.1
- 高手进,困扰了好久了,发了几次了都没解决。望大家多多回复
dd_化验项目表(项目ID 项目名称 项目价格..)
bo_病人(病人Id..)
bo_处方(处方号 处方类型 病人Id..)
bo_处方条目(条目id,处方号,
类型, -- 药品或化验
ddid, -- 药品id或化验项目id
数量
)
from bo_处方条目 a
left join dd_药品表 d1 on a.类型='药品' and a.ddid=d1.药品Id
left join dd_化验项目表 d2 on a.类型='化验' and a.ddid=d2.项目ID
where a.处方号=@处方号
name = isnull(药品名称,项目名称),
价格 = a.数量 * isnull(d1.药品价格,d2.项目价格)
from bo_处方条目 a
left join dd_药品表 d1 on a.类型='药品' and a.ddid=d1.药品Id
left join dd_化验项目表 d2 on a.类型='化验' and a.ddid=d2.项目ID
where a.处方号=@处方号