报告的前 n 个,其余部分与其他报告相同
Top nth of a report with rest as other
我有一个按供应商显示总金额的查询。我想要一份报告,其中显示前 9 名,其余的在“其他”供应商下添加在一起。因此,详细信息显示前 9 名供应商,其余为其他组,报告中的总数包括所有。
我无法获得前 9 名,但如何获得“其他”
我使用 MS Access 2007
编辑:
我还需要添加另一个登记册中的公司名称。 t_costed
具有值,链接到具有公司名称的 t_register_2bre
,链接到具有公司名称的 t_contacts_company
。
我知道 select
查询返回的列数在两个联合查询中必须相等,但我正在努力处理 INNER JOIN
.
您可以按以下方式使用 union
查询:
select top 9 t.amount
from table1 t
order by t.amount desc
union all
select sum(u.amount)
from table1 u
where
u.amount <
(
select min(v.amount)
from
(select top 9 w.amount from table1 w order by w.amount desc) v
)
在这里,将所有对 table1
的引用更改为您 table 的名称。
编辑:
根据您问题中提供的额外信息,我建议以下内容(未经测试)SQL:
select top 9 c.company, t.amount
from
(t_costed t inner join t_register_2bre r on t.eventidbre = r.id_bre)
inner join t_contacts_company c on r.defaulting_partyid = c.id_contacts_company
order by t.amount desc
union all
select "Others" as company, sum(u.amount)
from t_costed u
where
u.amount <
(
select min(v.amount)
from
(select top 9 w.amount from t_costed w order by w.amount desc) v
)
我有一个按供应商显示总金额的查询。我想要一份报告,其中显示前 9 名,其余的在“其他”供应商下添加在一起。因此,详细信息显示前 9 名供应商,其余为其他组,报告中的总数包括所有。
我无法获得前 9 名,但如何获得“其他”
我使用 MS Access 2007
编辑:
我还需要添加另一个登记册中的公司名称。 t_costed
具有值,链接到具有公司名称的 t_register_2bre
,链接到具有公司名称的 t_contacts_company
。
我知道 select
查询返回的列数在两个联合查询中必须相等,但我正在努力处理 INNER JOIN
.
您可以按以下方式使用 union
查询:
select top 9 t.amount
from table1 t
order by t.amount desc
union all
select sum(u.amount)
from table1 u
where
u.amount <
(
select min(v.amount)
from
(select top 9 w.amount from table1 w order by w.amount desc) v
)
在这里,将所有对 table1
的引用更改为您 table 的名称。
编辑:
根据您问题中提供的额外信息,我建议以下内容(未经测试)SQL:
select top 9 c.company, t.amount
from
(t_costed t inner join t_register_2bre r on t.eventidbre = r.id_bre)
inner join t_contacts_company c on r.defaulting_partyid = c.id_contacts_company
order by t.amount desc
union all
select "Others" as company, sum(u.amount)
from t_costed u
where
u.amount <
(
select min(v.amount)
from
(select top 9 w.amount from t_costed w order by w.amount desc) v
)