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

如何将两个SQL查询结果合并为单一输出表格?

解决方案:通过JOIN合并两个查询结果为单表

你需要的是横向合并列,而非UNION那种纵向合并行,因此应该用JOIN基于共同的Model字段关联两个查询结果。

先明确你的基础查询逻辑

假设两个原始查询分别为:

  1. 车辆销售报表查询:
SELECT 
    Model, 
    COUNT(*) AS "# of vehicles sold"
FROM sales_records  -- 替换为你的实际销售表名
GROUP BY Model;
  1. 新增车辆报表查询:
SELECT 
    Model, 
    COUNT(*) AS "# of vehicles added"
FROM new_inventory  -- 替换为你的实际新增车辆表名
GROUP BY Model;

合并后的完整SQL查询

将两个查询作为子查询,用FULL OUTER JOIN关联(确保所有车型都能显示,哪怕某一个查询无对应数据),并用COALESCE把空值替换为0:

SELECT 
    COALESCE(s.Model, a.Model) AS Model,
    COALESCE(s."# of vehicles sold", 0) AS "# of vehicles sold",
    COALESCE(a."# of vehicles added", 0) AS "# of vehicles added"
FROM (
    -- 销售数据子查询
    SELECT Model, COUNT(*) AS "# of vehicles sold"
    FROM sales_records
    GROUP BY Model
) s
FULL OUTER JOIN (
    -- 新增车辆子查询
    SELECT Model, COUNT(*) AS "# of vehicles added"
    FROM new_inventory
    GROUP BY Model
) a ON s.Model = a.Model
ORDER BY Model;

关键说明

  • 若能确定所有车型在两个表中都有对应数据,可改用INNER JOIN简化查询;FULL OUTER JOIN是为了覆盖“仅在销售/仅在新增数据中出现的车型”场景。
  • COALESCE用于处理单边无数据的情况,把默认的NULL替换为0,让报表更直观。
  • UNION不适用的原因是它会把两个查询的行合并到同一列下,不符合你“同一行展示同一车型两个指标”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:46:06