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

如何将多条SELECT语句的结果整合到一张表中?附相关SQL示例

如何整合多条SELECT查询结果到一张表

好问题!要把你这几个不同层级女性冲锋队员的统计结果整合到同一张表里,有两种实用的方案,看你更需要哪种展示形式:

方案1:纵向合并(每个层级一行)

这种方式会把每个层级的统计结果作为单独的一行展示,同时新增一列标注层级名称,方便清晰区分:

SELECT 'Officer' AS 层级, count(Gender) AS 女性冲锋队员人数
FROM stormtroopers_officer 
JOIN st_officer_assign ON stormtroopers_officer.STID = st_officer_assign.STID 
WHERE Gender = 'Female'
UNION ALL
SELECT 'NCO' AS 层级, count(Gender) AS 女性冲锋队员人数
FROM stormtroopers_nco 
JOIN st_nco_assign ON stormtroopers_nco.STID = st_nco_assign.STID 
WHERE Gender = 'Female'
UNION ALL
SELECT 'Troop' AS 层级, count(Gender) AS 女性冲锋队员人数
FROM stormtroopers_troop 
JOIN st_troop_assign ON stormtroopers_troop.STID = st_troop_assign.STID 
WHERE Gender = 'Female'
UNION ALL
-- 补上你未完成的MOScout对应的查询,格式和上面一致即可
SELECT 'XXX' AS 层级, count(Gender) AS 女性冲锋队员人数
FROM stormtroopers_XXX 
JOIN st_XXX_assign ON stormtroopers_XXX.STID = st_XXX_assign.STID 
WHERE Gender = 'Female'

说明:

  • 用UNION ALL而非UNION是因为每个层级的结果都是唯一的,UNION ALL会直接合并结果,避免不必要的去重操作,性能更好。
  • 确保每个SELECT语句返回的列数和数据类型完全一致,否则会报错。

方案2:横向合并(所有层级在同一行)

如果你希望把所有统计结果放在同一行,每个层级作为单独的列,可以用子查询作为列的方式实现:

SELECT
  -- 统计Officer层级
  (SELECT count(Gender) 
   FROM stormtroopers_officer 
   JOIN st_officer_assign ON stormtroopers_officer.STID = st_officer_assign.STID 
   WHERE Gender = 'Female') AS FOScout,
  -- 统计NCO层级
  (SELECT count(Gender) 
   FROM stormtroopers_nco 
   JOIN st_nco_assign ON stormtroopers_nco.STID = st_nco_assign.STID 
   WHERE Gender = 'Female') AS FNScout,
  -- 统计Troop层级
  (SELECT count(Gender) 
   FROM stormtroopers_troop 
   JOIN st_troop_assign ON stormtroopers_troop.STID = st_troop_assign.STID 
   WHERE Gender = 'Female') AS FTScout,
  -- 补上你未完成的MOScout统计
  (SELECT count(Gender) 
   FROM stormtroopers_XXX 
   JOIN st_XXX_assign ON stormtroopers_XXX.STID = st_XXX_assign.STID 
   WHERE Gender = 'Female') AS MOScout

说明:

  • 每个子查询单独统计一个层级的人数,最终结果会把这些统计值作为同一行的不同列展示,适合需要横向对比数据的场景。
  • 如果某个层级没有符合条件的数据,对应的列会返回NULL,你可以用COALESCE()函数把NULL替换成0,比如COALESCE(子查询, 0) AS 列名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:41:51