使用视图中的多个列创建唯一标识符

问题描述 投票:0回答:1

我有一个包含多个非空列的视图。

鉴于column1(int)+ column2(int)+ column3(string)的组合将始终是唯一的,如何使用这3列创建uniq id列?

理想情况下,如果此唯一标识符将是数字类型。我已经读过关于[[Cantor pairing,但是我的问题是我有3个输入(其中一个是非数字的)。

postgresql view unique id
1个回答
0
投票
不确定我是否正确。如果您只是想从表中创建视图,该表的列包含三个列的值,则可以执行以下操作:

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)

© www.soinside.com 2019 - 2024. All rights reserved.