最近新找了一份工作,首个工作任务就是.net平台开发的一个医疗管理系统。其中 某个模块,需要进行一次查询,由于刚刚接受,感觉难度不大,但是居然遇到了一个难以让我理解的数据库表设计, 两个一摸一样的表,只是表名不一样结构什么的都一样,当时我就询问数据库设计者,像这样的表用一个就好,加个字段标识,不紧结构清晰,而且扩展性也好,但是却被回绝,设计者说:两个表方便统计。难道统计的时候多加个WHERE子句就那么不方便???现在问题还是出现了,这两个一样的表都有一个外键关联与另一个表,另一个表中又有一个字段表明该条数据应从这两个表中哪一个表取出! 如果是查询单条记录的话都还好说,顶多就是在查询前再查询一次,判断那个字段然后再决定从哪个表查询,但是现在需要的是一个列表,而且是绑定到DATAGRID上!我迷茫了!怎么做?从两个一样的表查询不同的记录,还要根据另一个表来判断!!数据库设计者很轻松的甩句:判断一下嘛! 怎么判断?判断一次查一条记录然后循环N次后 将记录组合成DATASET 再绑定?我实在不能理解这种数据库设计思路!如果各位有什么思路请指点一下! 表A-1
a b c
表A-2
a b c
表B
X Y Z
最后得到的数据
Y Z a b c
现在要根据C的X 判断是取表A-1 还是取表A-2的数据,注意:可不是随便判断一下就可以的,因为最后要得到的每一条记录都不一定是从哪个表得到的,都得判断!不知道是我才疏学浅还是什么什么!总之,我是想不出来什么好办法了!
a b c
表A-2
a b c
表B
X Y Z
最后得到的数据
Y Z a b c
现在要根据C的X 判断是取表A-1 还是取表A-2的数据,注意:可不是随便判断一下就可以的,因为最后要得到的每一条记录都不一定是从哪个表得到的,都得判断!不知道是我才疏学浅还是什么什么!总之,我是想不出来什么好办法了!
解决方案 »
- 如何实现这些功能
- 这段代码的意思
- 文件上传,并生成缩略图奇怪的错误
- 关于部分用户登录session失效,提示未将对象引用到实例
- 关于用户控件的问题!
- 请教三个关于xml/xslt的问题,一个30分!
- DataGrid的模板列中使用了ImageButton,如何定义它的事件??事件可以不是标准事件么??
- freetextbox 里输入的时候回车换行能不能是<br>而不是<p>啊!!
- 用VB.NET写ASP.NET程序怎么才不会把代码编译到DLL文件里?
- 一个很有意义的问题,有兴趣的进来看看!---UP有分
- 对路径“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\newprj\93b468af\b03b9be7\hash.web”的访问被拒绝。急
- .NET的目标不是跨平台的吗,为什么几年了他其他系统的解释平台迟迟出不来了呢,不解啊!!!!!!!!!!!!
存储过程可以实现,需要建立一个tmp表
然好根据表B的X分别到1,2去select数据好像不必须用存储过程,只要select 三个标jion也能实现吧具体的参考sql-t手册好了