单位表
Unit Type PrimaryCode SecondaryCodes
UnitA L 20 30,90
UnitB B 10 25,35,45
L - 位置; B - 业务; 如果type = L,那么主代码将被视为位置和辅助代码作为业务;
如果type = B,那么主代码将被视为业务和辅助代码作为位置;
帐户表
Account Location Business Amount
AC1 20 30 100
AC2 20 90 50
AC3 25 10 50
AC4 35 10 25
AC5 45 10 100
现在,我需要一个查询来显示如下的网格..
Unit Sum of Amount
UnitA 150
UnitB 175
答案 0 :(得分:0)
很抱歉,但我现在不能想到任何事情"更好"。
select 'A' as Unit, sum(Amount) as [Sum of Amount] FROM [Accounts Table] group by Location having count(Location) >1
union all
select 'B' as Unit, sum(Amount) as [Sum of Amount] FROM [Accounts Table] group by Business having count(Business) >1
编辑1 我看到我没有考虑单位表。我会解决它。
编辑2 ......实际上,我无法给出更好的回应。 我无法连接这些表 - 除非主代码和辅助代码形成唯一的对。 您需要在表[帐户表]中使用UnitId或UnitName。然后,这可以是UnitID分组。