我需要通过连接同一个表中的列来从表中创建视图。 这是我的表格的创建方式
CREATE TABLE tbl (emp VARCHAR PRIMARY KEY, col1 VARCHAR, col2 VARCHAR);
INSERT INTO tbl VALUES ('one', 'A','B');
INSERT INTO tbl VALUES ('two', 'B',NULL);
INSERT INTO tbl VALUES ('three', 'D',NULL);
INSERT INTO tbl VALUES ('four', NULL,NULL);
INSERT INTO tbl VALUES ('five', NULL,NULL);
看起来像这样,下表中的空值表示
NULL
D SELECT * FROM tbl;
┌─────────┬─────────┬─────────┐
│ emp │ col1 │ col2 │
│ varchar │ varchar │ varchar │
├─────────┼─────────┼─────────┤
│ one │ A │ B │
│ two │ B │ │
│ three │ D │ │
│ four │ │ │
│ five │ │ │
└─────────┴─────────┴─────────┘
我需要的视图是第一列与其余列的叉积,应该看起来像
D SELECT * FROM out;
┌─────────┬─────────┐
│ emp │ col │
│ varchar │ varchar │
├─────────┼─────────┤
│ one │ A │
│ one │ B │
│ two │ B │
│ three │ D │
└─────────┴─────────┘
SELECT emp, col1 AS col FROM tbl WHERE col1 IS NOT NULL 联盟 SELECT emp, col2 as col FROM tbl WHERE col2 IS NOT NULL