この構文が機能しない理由がわかりません。2つの既存のテーブルをマージする新しいテーブルを作成したいと思います。
CREATE TABLE blah(
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2
FROM T1, T2
WHERE T1.ID = T2.ID)
この構文が機能しない理由がわかりません。2つの既存のテーブルをマージする新しいテーブルを作成したいと思います。
CREATE TABLE blah(
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2
FROM T1, T2
WHERE T1.ID = T2.ID)
あなたがここのように行方不明になっているように見えます、試してみてください
CREATE TABLE blah as (
SELECT T1.BUSINESSNAME, T1.STREETADDRESS, T1.CITYNAME, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2
FROM T1, T2
WHERE T1.ID = T2.ID)
ええ、ASが欠落しているだけでクエリ全体が正しいです。
CREATE TABLE blah AS (
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2
FROM T1, T2
WHERE T1.ID = T2.ID);
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2
INTO blah
FROM T1, T2
WHERE T1.ID = T2.ID
列IDの名前は、T1.IDとT2.IDの2回指定されます。少なくともpostgresではこれは受け入れられません。
以下のコードを使用してテーブルを作成できます
SELECT *
INTO #MyNewTable
FROM SourceTale