我需要通过来自不同模式的2个表的左连接语句在我的数据库中创建一个新表。以下是我的代码:
CREATE TABLE NEW_TABLE
FROM SCHEMA_1.TABLE_A X
LEFT JOIN SCHEMA_2.TABLE_B Y
ON X.NAME = Y.NAME
AND X.NUMBER = Y.NUMBER
我收到了SQL错误:
ORA-00922:缺少或无效的选项
00922. 00000 - “遗失或无效选项”
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
您缺少as select
子句:
CREATE TABLE NEW_TABLE
AS ( -- This was missing
SELECT * -- So was this
FROM SCHEMA_1.TABLE_A X
LEFT JOIN SCHEMA_2.TABLE_B Y ON X.NAME = Y.NAME AND
X.NUMBER = Y.NUMBER
)
答案 1 :(得分:0)
不要使用NUMBER
作为列名,它是oracle关键字。
来到查询,如果两个表中的唯一常用列是NAME
,NUMBER
,那么您可以尝试这个
CREATE TABLE NEW_TABLE
AS (
SELECT *
FROM SCHEMA_1.TABLE_A X
LEFT JOIN SCHEMA_2.TABLE_B Y Using(NAME,NUMBER)
)