关于多表查询的问题

winkoo11 2011-11-16 03:08:36
假如有5张表 tblA,tblB,tblC,tblD,tblE;现在tblA是主表,其他表都是关系它的,设想如下:
先查询出tblA的数据:select tblA.col1,null as 'tblB_col1',null as 'tblC_col1',null as 'tblD_col1',null as 'tblE_col1' from tblA

这个语句出来的结果放入map中,然后为null列补值,null列的数据来源于其余表:
select tblB.col1 from tblB where tblB.key in (tblA.id)
select tblB.col1 from tblC where tblB.key in (tblA.id)
...

不知道大家有没有好的建议?
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
winkoo11 2011-11-16
  • 打赏
  • 举报
回复
一条语句的确可以完成,但是要求不许用join,说每张表数据很多的时候效率很低,所以采用补数的方式,先查到map里,再为那些value为null的put值,从而完成整个查询,不知道可不可行?
qybao 2011-11-16
  • 打赏
  • 举报
回复
have a try
select tblA.col1 tblB.col1, tblC.col1, tblD.col1, tblE.col1
from tblA left join tblB on tblA.id = tblB.key
left join tblC on tblA.id = tblC.key
left join tblD on tblA.id = tblD.key
left join tblE on tblA.id = tblE.key

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧