You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access多表查询需求:按Sec ID汇总Trades与Transfers的Quantity

MS Access 查询语句:合并Trades与Transfers表的数量汇总并关联SecurityInfo

实现思路

先分别对Trades和Transfers表按Sec ID做数量汇总,用UNION ALL合并两个汇总结果,再对合并后的数据按Sec ID求和得到总数量,最后关联SecurityInfo表获取对应字段。

完整SQL语句

SELECT 
    si.[Sec ID],
    si.symbol,
    si.description,
    Nz(t.TotalQuantity, 0) AS TotalQuantity
FROM 
    SecurityInfo si
LEFT JOIN 
    (
        SELECT 
            [Sec ID],
            SUM(quantity) AS TotalQuantity
        FROM 
            (
                SELECT [Sec ID], quantity FROM Trades
                UNION ALL
                SELECT [Sec ID], quantity FROM Transfers
            ) AS Combined
        GROUP BY [Sec ID]
    ) t ON si.[Sec ID] = t.[Sec ID];

关键细节说明

  • UNION ALL:相比UNION不会自动去重,执行效率更高,能完整保留所有交易和转账的数量数据用于后续汇总
  • Nz(t.TotalQuantity, 0):针对没有交易/转账记录的证券,将空值替换为0,避免结果显示为Null
  • LEFT JOIN:确保SecurityInfo表中的所有证券记录都能被展示,即使该证券没有对应的交易或转账数据

内容的提问来源于stack exchange,提问作者bigaeon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:37:01