Você procura por
*
em esteróide. Infelizmente não existe tal funcionalidade em SQL
. Solução 1:
Use o poder de seleção de blocos em seu editor de texto favorito (vim,atom,...). Coloque cada coluna em uma nova linha. Seleção de bloco para escrever
AS
e prefixo da tabela. Em seguida, bloqueie a seleção e copie os nomes das colunas. Solução 2:
Gere uma lista de seleção usando
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
Você pode usar
E',\n'
para colocar cada coluna em uma nova linha. Resultado:
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ 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 ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝