我的数据库存储来自报告信息的 C++ 结构的事件。所有结构体都有公共字段(
id
、timestamp
),但也有独特的字段(application.name
、user.name
)。我需要具有不同列的表中的一个组件的数据。
表1:
事件ID | 时间戳 | 应用程序名称 | … |
---|---|---|---|
1 | 1224545 | ui.exe | … |
… | … | … | … |
表2:
事件ID | 时间戳 | 用户名 | … |
---|---|---|---|
1 | 2133333 | 测试用户1 | … |
… | … | … | … |
我想用
CREATE VIEW
来获取:
事件ID | 时间戳 | 应用程序名称 | 用户名 | … |
---|---|---|---|---|
1 | 1224545 | ui.exe | {空} | … |
1 | 2133333 | {空} | 测试用户1 | … |
… | … | … | … | … |
我该怎么做?
UNION
运算符:
CREATE VIEW viewname AS
SELECT eventid, timestamp, "application.name", NULL AS 'user.name'
FROM table1
UNION ALL
SELECT eventid, timestamp, NULL AS 'application.name', "user.name"
FROM table2