晕,在一行里啊,我给变成2行,简化如下:
select a.office_id,a.office_addr,isnull(a.price,0) as sms ,isnull(b.price,0) as phone,sum(isnull(a.price,0)+isnull(b.price,0)) as heji
from (select office_id ,office_addr,sum(price) as price from xd_recordmsgbill group by office_id,office_addr) a
left join (select office_id ,sum(price) as price from xd_recordbill group by office_id) b
on a.office_id=b.office_id group by a.office_id,a.office_addr,a.price,b.price
select a.office_id,a.office_addr,isnull(a.price,0) as sms ,isnull(b.price,0) as phone,sum(isnull(a.price,0)+isnull(b.price,0)) as heji
from (select office_id ,office_addr,sum(price) as price from xd_recordmsgbill group by office_id,office_addr) a
left join (select office_id ,sum(price) as price from xd_recordbill group by office_id) b
on a.office_id=b.office_id group by a.office_id,a.office_addr,a.price,b.price
from (select office_id ,office_addr,sum(price) as price
from xd_recordmsgbill where tran_date>'" + rq1 + "' and tran_date <'" + rq2 + " 23:59:59' group by office_id,office_addr) a
full join (select office_id ,sum(price) as price from xd_recordbill where starttime>'" + rq1 + "' and starttime<'" + rq2 + " 23:59:59' group by office_id) b on a.office_id=b.office_id group by a.office_id,a.office_addr,a.price,b.price"
(A表中有的数据,B表中没有的数据,就以空显示.,B表中有的数据,A表中没有的数据,也以空显示.)
我不想以空显示?
加一个ISNULL()启不是指定了数据, 我想显示原始的?
//不想等,可以让它们先走!哈哈
http://blog.csdn.net/believefym/archive/2008/09/10/2907940.aspx
A和B不想等的,把不相等的数据,也分组显示出来,不分组也可以的
现在问题是:不相等的成null了,这不是想要的数据??