首页 > 解决方案 > 使用键/索引/其他东西选择多列

问题描述

假设我有一个包含以下列的表格:

假设我在获取公共数据时经常将、 和一起获取first_name,所以我想将它们捆绑在一起last_nameheight

同样,我想捆绑social_security_numberphone_number作为私有数据。

为了简化我的查询并且以后不会出错,我想创建某种多列引用,作为公共和私有数据的别名,所以:

我想做这样的事情:

(组成语法)

ALTER TABLE acc CREATE BUNDLE first_name, last_name, height AS public_acc_columns;
ALTER TABLE acc CREATE BUNDLE social_security_number, phone_number AS private_acc_columns;

然后像这样使用它

 -- returns first_name, last_name, height
SELECT public_acc_columns FROM acc;

 -- returns social_security, phone_number
SELECT private_acc_columns FROM acc;

 -- returns all columns
SELECT public_acc_columns, private_acc_columns FROM acc;

标签: sqlpostgresql

解决方案


我建议创建两个 SQL 视图。将一个设置为 acc_public,一个设置为 acc_private。虽然我不知道是否需要私人。

然后你可以说:

Select * from acc_public

或者

Select * from acc_private

在没有看到所有数据结构的情况下,我无法说出视图所需的语法,但这里有一些一般信息:https ://www.w3schools.com/sql/sql_view.asp


推荐阅读