sql >> Databáze >  >> RDS >> PostgreSQL

Vytvořit aliasy hromadně?

Hledáte * na steroidech. Bohužel v SQL žádná taková funkce není .

Řešení 1:

Využijte sílu výběru bloků ve svém oblíbeném textovém editoru (vim, atom,...). Umístěte každý sloupec do nového řádku. Blokovat výběr pro zápis AS a předpona tabulky. Poté zablokujte výběr a zkopírujte názvy sloupců.

Řešení 2:

Vygenerujte výběrový seznam pomocí 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

Můžete použít E',\n' umístíte každý sloupec na nový řádek.

Výstup:

╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                   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. vypočítat průměr bez desetinných míst

  2. UTL_FILE.FREMOVE Příklad:Odstranění souboru v Oracle

  3. Aktualizujte stejnou tabulku po vložení triggeru

  4. MYSQL Vyberte na dvou hodnotách jeden sloupec