我有一个包含多个非空列的视图。
鉴于column1
(int)+ column2
(int)+ column3
(string)的组合将始终是唯一的,如何使用这3列创建uniq id
列?
理想情况下,如果此唯一标识符将是数字类型。我已经读过关于[[Cantor pairing,但是我的问题是我有3个输入(其中一个是非数字的)。
CREATE TABLE t (c1 INT, c2 INT, c3 TEXT, c4 TEXT);
INSERT INTO t VALUES (1,2,'foo','text 1');
INSERT INTO t VALUES (1,2,'bar','text 2');
CREATE VIEW w AS
SELECT CONCAT(c1, c2, c3), c4 FROM t;
SELECT * FROM w;
concat | c4
--------+--------
12foo | text 1
12bar | text 2
(2 Zeilen)