END ASとともに作成された結果カラムから既存のIDカラムとともに新しいテーブルを作成しようとしています。私のクエリの結果は、最初のテーブルにあります。私は2番目のような新しいテーブルを作成したい。私はSELECT INTOをさまざまな方法で使用しようとしましたが、結果から新しいテーブルを作成することさえできません。使用している[DBMS](https://en.wikipedia.org/wiki/DBMS)新しいテーブルを作成するために、CASESとJOINと共にSELECT INTOを実行します。
SELECT table1."id", table1.val, table2.val,
CASE WHEN table2.val IS NOT null AND table2.val != 'N' THEN table2.val
WHEN table2.val = 'N' THEN null
WHEN table1.val = 'N' THEN null
ELSE table1.val
END AS results
FROM table1
LEFT JOIN table2 ON table2."id" = table1."id"
+----+-----+--------+---------+
| id | val | val | results |
+----+-----+--------+---------+
| 1 | A | N | [null] |
| 2 | A | B | B |
| 3 | N | [null] | [null] |
| 5 | A | [null] | A |
| 8 | A | B | B |
| 9 | N | B | B |
| 10 | N | N | [null] |
+----+-----+--------+---------+
+----+---------+
| id | results |
+----+---------+
| 1 | [null] |
| 2 | B |
| 3 | [null] |
| 5 | A |
| 8 | B |
| 9 | B |
| 10 | [null] |
+----+---------+
?標準SQL( 'sql'タグが参照する)では、selectに基づく新しいテーブルは、' select .. into'ではなく 'create table ... as select ...'を使って作成されます。 –
pgAdmin。カピルの答えは、私が探していたことです。ありがとうございました。 – Kertigen
pgAdminはDBMSではありません。しかし、Postgresデータベースにしか接続できないので、Postgresを使用していると仮定すると安全です。 –