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

时间:2018-04-27 21:43:35

标签: sql join plsql plsqldeveloper

我想创建一个带有逗号分隔连接的sql statemnt(在PL SQL Developer中)?

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;

然后我得到了行。

如果我可以使用昏迷分离列的第一步,有人会说我吗?

格尔茨

1 个答案:

答案 0 :(得分:0)

您需要一个有效的条件:

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键在两个表中具有相同的名称。