日期:2014-05-17  浏览次数:20495 次

新增升级问题针对:求sql单语句,统计功能,增加一个检查部位个数的,
一品梅 16:18:53
Select T_STUDY_REPORT.F_STU_REFER_DOCTOR As 送诊医生,T_STUDY_body as 检查部位,Count(T_STUDY_BASIC.F_STU_GUID) As 检查量,Sum(T_STUDY_STAT.F_STU_FARE) As 费用 From [数据表] Where [日期:T_STUDY_BASIC.F_STU_DATE] Group By T_STUDY_REPORT.F_STU_REFER_DOCTOR,T_STUDY_body  
一品梅 16:21:45
检查部位 举例:头颅/腹部/颈椎 这就算三个部位,我想添加一个字段,计算部位个数的,请不用自定义函数,您能帮我写下吗?呵呵
可口可乐 16:23:55
也就是 每个部分都可能有 多次么?
你弄短一点这个字段名, 然后 举例一些数字 这样好看一点。
一品梅 16:27:39
检查部位是一个字段:T_study_body 这个字段可以有多个部位,也可以有一个部位,如果多个的话,用/隔开,现在就是想统计总共的部位


正确答案:
Select T_STUDY_REPORT.F_STU_REFER_DOCTOR As 送诊医生,T_STUDY_body as 检查部位,sum(len(T_STUDY_body)-len(replace(T_STUDY_body,'/','')) + 1) as 部位数, Count(T_STUDY_BASIC.F_STU_GUID) As 检查量,Sum(T_STUDY_STAT.F_STU_FARE) As 费用  
From [数据表] Where [日期:T_STUDY_BASIC.F_STU_DATE]  
Group By T_STUDY_REPORT.F_STU_REFER_DOCTOR,T_STUDY_body  
--------------------------------------------------------------------
我现在遇到一新问题,就是分隔符不固定,可以设置为,\/;等,根据书写医生喜好。
请问这样语句怎么写啊?
原帖地址:http://topic.csdn.net/u/20120331/16/29d971b0-9da3-4c0e-a72d-3b1f6c9bb329.html

------解决方案--------------------
定义一个变量作为参数(,\/;) 传入。
------解决方案--------------------
这个是做什么?
------解决方案--------------------
探讨
前提:只能写语句,不能写函数和存储过程。因为我们程序调用的只允许写语句,还是sqlite,这个没问题,语法差不多,剩下的我能翻译。

------解决方案--------------------
自己解决了?
------解决方案--------------------
我擦,这个问题呢。。应该是在选择端去控制的,不为名称应该用一个选择框 让医生选择
,他选几个都行,然后程序处理用一个统一的符号隔开。

不是说他想输入什么隔开就输入什么的,手动输入会出现输错、漏输等错误。
------解决方案--------------------
探讨

手动输入会出现输错、漏输等错误。
================
这个你放心,不会漏输的,程序有控制,比如点ctrl键才能多选选项。

------解决方案--------------------
这样的东东,最好加一字段,在insert记录之前将医生的原始记录转为你能接受的格式,放于新加的字段中