首页 > 代码库 > Oracle group by 多表多字段关联查询

Oracle group by 多表多字段关联查询

group by 多表多字段关联查询

自己遇到一个问题,就是开始的时候需要一个字段的名字和数量,但是是同个一个表的。

数据库代码如下:

select 

l.batchnum,count(l.batchnum) batcount   

from ts_outphone_list l join ts_outphone_batch b on l.batchnum=b.batchnum left join om_user_list om on l.datamanager=om.login_id left join ts_outphone_supplier tos on tos.id=om.suppliercode where b.ctime>‘2014-05-01‘  and b.ctime<‘2014-06-24 23:59:59‘  and tos.id=om.suppliercode 

group by l.batchnum;

现在我需要新添加一张表,并且需要查出一个新的字段。

想了很多方法,比如直接在select后面加这个新的字段,并且关联这张表但是都不能实现这个功能。

其实最关键的两句就是:

l.batchnum,count(l.batchnum) batcount

group by l.batchnum;

所以只要在group by 后面加上新的字段就可以查出你想要显示的新内容

select 

tos.suppliername,l.batchnum,count(tos.suppliername) batcount

from ts_outphone_list l join ts_outphone_batch b on l.batchnum=b.batchnum left join om_user_list om on l.datamanager=om.login_id left join ts_outphone_supplier tos on tos.id=om.suppliercode where b.ctime>‘2014-05-01‘  and b.ctime<‘2014-06-24 23:59:59‘  and tos.id=om.suppliercode 

group by tos.suppliername,l.batchnum;

只要在多关联一个字段就可以了

如果需要更多的表,自己添加就可以了

希望对你们有用

本文出自 “my dream fly on the sky” 博客,请务必保留此出处http://7915791.blog.51cto.com/7905791/1430849