sql >> Databasteknik >  >> RDS >> PostgreSQL

Skapa alias i bulk?

Du söker efter * på steroid. Tyvärr finns det ingen sådan funktionalitet i SQL .

Lösning 1:

Använd kraften i blockval i din favorittextredigerare (vim, atom,...). Placera varje kolumn i en ny rad. Blockera val för att skriva AS och tabellprefix. Blockera sedan val och kopiera kolumnnamn.

Lösning 2:

Skapa urvalslista med INFORMATION_SCHEMA.COLUMNS :

SELECT 
 string_agg(FORMAT('%s.%s AS %s_%s', "table_name",
                   column_name,"table_name", column_name), ', ')
FROM information_schema.columns
WHERE "table_name" IN ('products', 'taxes', 'categories');

SqlFiddleDemo

Du kan använda E',\n' för att placera varje kolumn i ny rad.

Utdata:

╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                   string_agg                                                                                   ║
╠════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╣
║ products.id AS products_id, products.name AS products_name, taxes.id AS taxes_id, taxes.name AS taxes_name, categories.id AS categories_id, categories.name AS categories_name ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝



  1. Får fel 1366. Felaktigt heltalsvärde:'1' vid import av fil

  2. Hur infogar man en datatabell i SQL Server-databastabellen?

  3. PostgreSQL 9.0 Säkerhetskopiering och återställning

  4. Skriver läsbar kod för VBA – Prova* mönster