ВЫБЕРИТЕ несколько столбцов, используя ключ / индекс / что-то еще

#sql #postgresql

#sql #postgresql

Вопрос:

Допустим, у меня есть таблица со следующими столбцами:

  • first_name
  • last_name
  • высота
  • social_security_number
  • phone_number

Допустим, я очень часто извлекаю first_name , last_name , и height вместе, когда я извлекаю общедоступные данные, поэтому я хочу объединить их вместе

Аналогично, я хочу связать social_security_number и phone_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;
 

Комментарии:

1. что такое bundle!!! вы можете создать два представления для достижения своей цели

Ответ №1:

Я бы посоветовал создать два представления SQL. Настройте один как acc_public и один как acc_private. Хотя я не знаю, понадобится ли private.

Тогда вы могли бы сказать:

 Select * from acc_public
 

Или

 Select * from acc_private
 

Не видя всей вашей структуры данных, я не могу сказать синтаксис, который вам понадобится для представления, но вот некоторая общая информация: https://www.w3schools.com/sql/sql_view.asp

Комментарии:

1. Да, это похоже на решение, которое лучше всего соответствует критерию «через шесть месяцев я пойму, что я сделал?».

2. Простой и ремонтопригодный. Спасибо.