创建一个包含更多列的 sql 连接

create a sql join with more columns

我想创建一个 sql 语句(在 PL SQL 开发人员中),用逗号分隔连接?

SELECT * FROM TABLE1 t1 JOIN TABLE2 t2 ON t1.tab_id, second_id = t2.tab_id, second_id;

我总是遇到 ORA-00920 异常。如果我将其更改为两行:

t1.tab_id = t2.tab_id AND t1.second_id = t2.second_id;

然后我得到行。

如果我可以使用逗号分隔列的第一步,有人能告诉我吗?

问候

您需要一个有效的条件:

SELECT *
FROM TABLE1 t1 JOIN
     TABLE2 t2
     ON t1.tab_id = t2.tab_id AND t1.second_id = t2.second_id;

我想Oracle也会让你做的:

SELECT *
FROM TABLE1 t1 JOIN
     TABLE2 t2
     ON (t1.tab_id, t1.second_id) in ( (t2.tab_id, t2.second_id) );

甚至:

SELECT *
FROM TABLE1 t1 JOIN
     TABLE2 t2
     USING (tab_id, second_id);

这是可行的,因为 JOIN 键在两个表中具有相同的名称。