使用 access sql 按总计作为其他列值分组
Group by totals as other column values using access sql
我有一个table一个
EK_ID ECID WCD WCP
1004 1001 2 0
1004 1001 2 5
1004 1001 3 2
1005 1025 2 5
1005 1025 4 3
1006 1025 6 2
1006 1025 5 8
我正在尝试将 WC_D、WC_P 列的总和(按 EK_ID 分组)结果写为其他列值(根据 EK_ID 重复总计).结果 table 应该类似于 。我有一种情况需要将 WCD 值除以其总数。
EK_ID ECID WCD WCP Total_WCD Total_WCP
1004 1001 2 0 7 7
1004 1001 2 5 7 7
1004 1001 3 2 7 7
1005 1025 2 5 6 8
1005 1025 4 3 6 8
1006 1025 6 2 11 10
1006 1025 5 8 11 10
select YT.*,T.*
from #YourTable YT
join (
select EK_ID, SUM(WCD) as Total_WCD, SUM(WCP) as Total_WCP
from #YourTable YT
group by EK_ID
) T on T.EK_ID = YT.EK_ID
完整示例
create table #YourTable(EK_ID int, ECID int, WCD int, WCP int)
insert into #YourTable
select 1004, 1001, 2, 0
union select 1004, 1001, 2, 5
union select 1004, 1001, 3, 2
union select 1005, 1025, 2, 5
union select 1005, 1025, 4, 3
union select 1006, 1025, 6, 2
union select 1006, 1025, 5, 8
select YT.*,T.*
from #YourTable YT
join (
select EK_ID, SUM(WCD) as Total_WCD, SUM(WCP) as Total_WCP
from #YourTable YT
group by EK_ID
) T on T.EK_ID = YT.EK_ID
创建此查询:
SELECT EK_ID, Sum(WCD) AS Total_WCD, Sum(WCP) AS Total_WCP FROM table GROUP BY EK_ID
那么您要求的格式中的table是:
SELECT table.EK_ID, table.ECID, table.WCD, table.WCP, query.Total_WCD, query.Total_WCP
FROM table INNER JOIN query ON table.EK_ID=query.EK_ID
我有一个table一个
EK_ID ECID WCD WCP
1004 1001 2 0
1004 1001 2 5
1004 1001 3 2
1005 1025 2 5
1005 1025 4 3
1006 1025 6 2
1006 1025 5 8
我正在尝试将 WC_D、WC_P 列的总和(按 EK_ID 分组)结果写为其他列值(根据 EK_ID 重复总计).结果 table 应该类似于 。我有一种情况需要将 WCD 值除以其总数。
EK_ID ECID WCD WCP Total_WCD Total_WCP
1004 1001 2 0 7 7
1004 1001 2 5 7 7
1004 1001 3 2 7 7
1005 1025 2 5 6 8
1005 1025 4 3 6 8
1006 1025 6 2 11 10
1006 1025 5 8 11 10
select YT.*,T.*
from #YourTable YT
join (
select EK_ID, SUM(WCD) as Total_WCD, SUM(WCP) as Total_WCP
from #YourTable YT
group by EK_ID
) T on T.EK_ID = YT.EK_ID
完整示例
create table #YourTable(EK_ID int, ECID int, WCD int, WCP int)
insert into #YourTable
select 1004, 1001, 2, 0
union select 1004, 1001, 2, 5
union select 1004, 1001, 3, 2
union select 1005, 1025, 2, 5
union select 1005, 1025, 4, 3
union select 1006, 1025, 6, 2
union select 1006, 1025, 5, 8
select YT.*,T.*
from #YourTable YT
join (
select EK_ID, SUM(WCD) as Total_WCD, SUM(WCP) as Total_WCP
from #YourTable YT
group by EK_ID
) T on T.EK_ID = YT.EK_ID
创建此查询:
SELECT EK_ID, Sum(WCD) AS Total_WCD, Sum(WCP) AS Total_WCP FROM table GROUP BY EK_ID
那么您要求的格式中的table是:
SELECT table.EK_ID, table.ECID, table.WCD, table.WCP, query.Total_WCD, query.Total_WCP
FROM table INNER JOIN query ON table.EK_ID=query.EK_ID