Du søger efter *
på steroid. Desværre er der ingen sådan funktionalitet i SQL
.
Løsning 1:
Brug kraften til blokvalg i din foretrukne teksteditor (vim, atom,...). Placer hver kolonne i en ny række. Bloker valg for at skrive AS
og tabelpræfiks. Bloker derefter valg og kopier kolonnenavne.
Løsning 2:
Generer udvalgt liste ved hjælp af 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');
Du kan bruge E',\n'
for at placere hver kolonne i en ny linje.
Output:
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ 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 ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝