PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Създаване на групови псевдоними?

Вие търсите * на стероид. За съжаление няма такава функционалност в SQL .

Заобиколно решение 1:

Използвайте силата на избора на блок в любимия си текстов редактор (vim, atom,...). Поставете всяка колона в нов ред. Блокирайте избора, за да напишете КАТО и префикс на таблица. След това блокирайте избора и копирайте имената на колоните.

Заобиколно решение 2:

Генерирайте списък за избор с помощта на INFORMATION_SCHEMA.COLUMNS :

SELECT string_agg(FORMAT('%s.%s AS %s_%s', "table_name", column_name,"table_name", column_name), ', ')FROM information_schema.columnsWHERE "table_name" IN ( „продукти“, „данъци“, „категории“); 

SqlFiddleDemo

Можете да използвате E',\n' за да поставите всяка колона на нов ред.

Изход:

<предварителен код>╔═════════════════════════════════════════ ══════════════════════════════════════════════════ ══════════════════════════════════════════════════ ═════════════════════════════════╗║ String_agg ║╠════════════ ══════════════════════════════════════════════════ ══════════════════════════════════════════════════ ══════════════════════════════════════════════════ ══════════════╣║ products.id AS products_id, products.name AS products_name, taxes.id AS taxes_id, taxes.name AS taxes_name, category.id AS category_id, category.name AS categories_name ║╚═══════════════════════════════════════════════ ══════════════════════════════════════════════════ ══════════════════════════════════════════════════ ═════════════════════════════╝


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql хвърля нулева стойност в колона нарушава ограничението за не-нула при използване на връзката oneToMany в JPA

  2. Вмъкване на стойност DEFAULT в колона, когато параметърът е NULL

  3. Вземете номера на седмицата от дата в PostgreSQL

  4. Използвайте колони, генерирани от Postgres, в модела Sequelize

  5. Изтрийте празните редове