创建一个包含更多列的 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 键在两个表中具有相同的名称。
我想创建一个 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 键在两个表中具有相同的名称。