以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教一个数据行排序问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4621) |
||||
-- 作者:菜鸟foxtable -- 发布时间:2009/10/14 21:16:00 -- 请教一个数据行排序问题
图一: 此主题相关图片如下:01.png 图二: 此主题相关图片如下:02.png 请问如何更改医嘱表结构才能做到用SQL查询语句:select * from 医嘱 WHERE 患者ID IN (\'001\',\'002\') ORDER BY 组别,保证查询出来的数据按图一排序?而不会变成图二那样? 比如:0.9%氯化钠就必须在青霉素前面,而不能在后面。 也就是说,组间按顺序排,组内也要按顺序排。 [此贴子已经被作者于2009-10-14 21:34:50编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/10/14 21:20:00 -- 没看懂 |
||||
-- 作者:菜鸟foxtable -- 发布时间:2009/10/14 21:28:00 -- 再看看,换了个说法。 |
||||
-- 作者:roy78 -- 发布时间:2009/10/14 21:31:00 -- 初看图2包括了后两者的排序,去除其中一个排序呢? |
||||
-- 作者:菜鸟foxtable -- 发布时间:2009/10/14 21:37:00 -- 以下是引用hnaysx在2009-10-14 21:33:00的发言:
似乎很简单,你仅仅需要对项目名称的顺序 多加一列就可以额 只从表结构上考虑是很简单,但要考虑到实际操作,输入越少越合理,多一列意味着工作量大量增加,还容易出错! 看看下图,别人是如何做到的?我水平有限,猜不透,请高手指点指点。 此主题相关图片如下:03.png [此贴子已经被作者于2009-10-14 21:38:21编辑过]
|
||||
-- 作者:菜鸟foxtable -- 发布时间:2009/10/14 21:55:00 -- 唉,一时半会也讲不清楚,医嘱这东西太复杂,比如组1是静脉用药,组2是口服用药,组3又是静脉用药。而输出单据要求把静脉用药组排前面,口服用药组排后面。这就又涉及到排序了。总是想不到好办法。 [此贴子已经被作者于2009-10-14 22:21:20编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2009/10/14 23:15:00 -- 这样能基本满足1楼第一个图: Tables("医嘱").Select(0,Tables("医嘱").cols("患者ID").index,Tables("医嘱").count-1,Tables("医嘱").cols("项目").index) Syscmd.Sort.Ascending() |
||||
-- 作者:czy -- 发布时间:2009/10/14 23:25:00 -- 老六是不是考虑象易表一样来个排序项目?那样就很简单了,感觉这东东还是很有用的。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/10/14 23:26:00 -- 以下是引用czy在2009-10-14 23:25:00的发言:
老六是不是考虑象易表一样来个排序项目?那样就很简单了,感觉这东东还是很有用的。
|
||||
-- 作者:czy -- 发布时间:2009/10/14 23:32:00 -- 以下是引用狐狸爸爸在2009-10-14 23:26:00的发言:
|