Eu gostaria de criar uma tabela temporária usando uma instrução select que usa exibições temporárias especificadas em uma instrução WITH (não a instrução WITH de CREATE TEMPORARY TABLE).
por exemplo, algo ao longo das linhas de
WITH a AS (
SELECT 1 foo, 2 bar
), b AS (
SELECT 4 bar, 5 baz
)
CREATE TEMPORARY TABLE foo AS
SELECT * from a JOIN b ON (a.bar=b.bar)
Se eu comentar a linha CREATE TEMPORARY TABLE, isso funciona. Como criar uma tabela temporária usando o resultado da consulta do SELECT, sem reescrever as visualizações temporárias em uma única consulta?
O WITH vai depois do CREATE TABLE
Observe que o acima resultará em "ERRO: coluna "bar" especificada mais de uma vez" - mas suponho que você esteja usando nomes de coluna melhores (distintos) na consulta real.