欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求多张关联表的SQL语句

程序员文章站 2022-05-06 12:57:18
...
我也不知道描述清楚没有,望各位前辈指点。



回复讨论(解决方案)

我也不知道描述清楚没有,望各位前辈指点。

select * from a,b,c where a.KSBH = C.KSBH and a.XMBH = b.XMBH where b.TJDJBH = '10001041' and a.KSBH = '01'//描述的不够清晰;不知道是不是这个

select * from a,b,c where a.KSBH = C.KSBH and a.XMBH = b.XMBH where b.TJDJBH = '10001041' and a.KSBH = '01'//描述的不够清晰;不知道是不是这个


您提供的语句有两个where

我们先来分析一下
表四沟通了其他三个表
表四本身表达了:
一个综合项目包含了哪些体检项目(ZHBH,XMBH)
一个科室包含了哪些体检项目(KSBH,XMBH)
一个科室包含了哪些综合项目(KSBH,ZHBH)
由表四的XMBH可在表一中查到体检项目的名称
同样由表四的KSBH可在表一中查到体检项目的名称
而表四种的KSBH与XMBH是一一对应的,所以表一中的KSBH是多余的
同理表三中的KSBH也是多余的
表二中,用户做的是真实的检查(XMBD)并不需要关心该XMBH隶属于哪个ZHBH
所以表二中的ZHBH也是多余的
从表四处发,我们可以知道(通过表四的XMBH与表二的XMBH)
某个XMBH被那些TJDJBH参与了
某个ZHBH被那些TJDJBH参与了

接下来的事情就应该不难了吧?