Vous recherchez *
sous stéroïde. Malheureusement, il n'y a pas une telle fonctionnalité dans SQL
.
Solution 1 :
Utilisez la puissance de la sélection de blocs dans votre éditeur de texte préféré (vim, atom,...). Placez chaque colonne dans une nouvelle ligne. Sélection de bloc pour écrire AS
et préfixe de table. Bloquez ensuite la sélection et copiez les noms des colonnes.
Solution 2 :
Générer une liste de sélection à l'aide de 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');
Vous pouvez utiliser E',\n'
pour placer chaque colonne dans une nouvelle ligne.
Sortie :
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ 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 ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝