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

如何合并两个SQL查询,生成包含表名等四列的结果表?

合并SQL查询获取表元数据信息

你可以通过两种简单的方式合并这两个查询,得到包含所需四列的结果:

方法一:子查询+交叉连接(CROSS JOIN)

因为两个查询都只返回单行结果,交叉连接会直接把它们合并成一行:

SELECT 
    'abc.gcc_case' AS Table_Name,
    t.Last_Create_Date,
    t.Last_Update_Date,
    c.Columns_Count
FROM (
    -- 获取表的最后创建和更新日期
    SELECT 
        MAX(create_date) AS Last_Create_Date,
        MAX(update_date) AS Last_Update_Date
    FROM abc.gcc_case
) t
CROSS JOIN (
    -- 获取表的列数,加上schema过滤避免同名表混淆
    SELECT COUNT(*) AS Columns_Count
    FROM information_schema.columns
    WHERE table_name = 'gcc_case'
      AND table_schema = 'abc'
) c

方法二:标量子查询(更简洁)

直接把列数查询作为字段嵌入主查询:

SELECT 
    'abc.gcc_case' AS Table_Name,
    MAX(create_date) AS Last_Create_Date,
    MAX(update_date) AS Last_Update_Date,
    -- 标量子查询返回单行单列,直接作为列值
    (
        SELECT COUNT(*)
        FROM information_schema.columns
        WHERE table_name = 'gcc_case'
          AND table_schema = 'abc'
    ) AS Columns_Count
FROM abc.gcc_case

注意事项:

  • 原查询里的DISTINCT是多余的,MAX()聚合函数本身会返回单行结果,无需去重。
  • 必须加上table_schema = 'abc'条件,否则若其他schema存在同名表,列数统计会出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:37:22