Postgres で「匿名テーブル」(つまり、データベースにないデータに基づく一時的なクエリ) を作成したい場合は、次のように使用できますVALUES
。
select * from (values (1, 'Hello world'), (100, 'Another row')) as foo (mycol1, mycol2);
しかし、行のない匿名テーブルを作成するにはどうすればよいでしょうか? (これはコード ジェネレーター用なので、質問は思ったほど奇妙ではありません!)。以下は動作しません
select * from (values ) as foo (mycol1, mycol2);
私が得るので
ERROR: syntax error at or near ")"
LINE 1: select * from (values ) as foo (mycol1, mycol2);
^
私は回避策を知っています
select * from (values (NULL, NULL)) as foo (mycol1, mycol2) where mycol1 is not NULL;
しかし、より良い、または「より公式な」方法はありますか?
(列のないテーブルを作成できるかどうかも知りたいです!)