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

如何使用CREATE VIEW合并不同表的行生成统一视图?

实现方案

你可以通过UNION ALL将两个表的数据合并,同时为每个表补充对方的专属字段并赋值为NULL,以此创建符合需求的视图。具体SQL语句如下:

CREATE VIEW combined_events AS
SELECT
    eventId,
    timestamp,
    `application.name`,
    NULL AS `user.name`,
    -- 列出表1的其他字段,格式为`字段名`
    `表1其他字段1`,
    `表1其他字段2`
FROM 表1
UNION ALL
SELECT
    eventId,
    timestamp,
    NULL AS `application.name`,
    `user.name`,
    -- 列出表2的其他字段,格式为`字段名`
    `表2其他字段1`,
    `表2其他字段2`
FROM 表2;

关键说明:

  • 选择UNION ALL:UNION会自动去重,但你的需求需要保留所有原始行(包括eventId相同的不同事件),因此UNION ALL更适配。
  • 字段名转义:由于字段名包含.(如application.name),需要用反引号`包裹字段名,避免数据库解析错误(不同数据库可能用双引号等符号,反引号是MySQL等数据库的通用写法)。
  • 补全NULL字段:每个表查询时,必须显式声明对方的专属字段并赋值为NULL,确保合并后的结果集字段数量、顺序完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:43:18