我目前正在建立一个已建立的数据库,我必须生成已经生成的水量报告,同时根据月份按区域组织...反正这里是我的查询
*SELECT a.read_month, b.zone, ((SELECT SUM(a.water_used) AS Volume FROM
[TEST_DB].[dbo].[tblBilling] a) + (SELECT SUM(b.water_used) AS Volume FROM
[TEST_DB].[dbo].[tblTransaction] b)) AS Volume
FROM [TEST_DB].[dbo].[tblBilling] a,
[TEST_DB].[dbo].[tblAccounts] b,
[TEST_DB].[dbo].[tblTransaction] c
WHERE a.account_no = b.account_no
GROUP BY a.read_month, b.zone*
这是结果
read_month zone Volume
112015 A 460
112015 B 460
112015 C 460
122015 A 460
122015 B 460
122015 C 460
根据我的意图进行分组,但音量完全相同。这是我对结果的看法,因为帐户号码。 11和12属于A区,因此它们的值应添加到区域A和112015的read_month
read_month zone Volume
112015 A 80
112015 B 60
112015 C 80
122015 A 60
122015 B 80
122015 C 100
这些是数据来自
的表格tblBillings
account_no water_used read_month
1 20 112015
2 20 112015
3 30 112015
4 30 112015
5 40 112015
6 40 112015
1 30 122015
2 30 122015
3 40 122015
4 40 122015
5 50 122015
6 50 122015
tblTransaction
account_no water_used read_month
11 20 112015
12 20 112015
tblAccounts
account_no zone
1 A
2 A
3 B
4 B
5 C
6 C
11 A
12 A
任何帮助将不胜感激:)
答案 0 :(得分:1)
这可能是您要查找的查询:
SELECT Temp.read_month, A.zone, SUM(Temp.water_used) 'water_used' FROM
(
SELECT T.account_no, T.read_month, T.water_used from tblTransaction T
UNION
SELECT B.account_no, B.read_month, B.water_used from tblBilling B
) Temp
INNER JOIN tblAccounts A on A.account_no = Temp.account_no
GROUP BY Temp.read_month, a.zone