sql - 创建一个包含更多列的 sql 连接
问题描述
我想创建一个用逗号分隔的连接的 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;
然后我得到行。
如果我可以使用逗号分隔列的第一步,有人可以说我吗?
格雷茨
解决方案
你需要一个有效的条件:
SELECT *
FROM TABLE1 t1 JOIN
TABLE2 t2
ON t1.tab_id = t2.tab_id AND t1.second_id = t2.second_id;
我认为甲骨文也会让你这样做:
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 键在两个表中具有相同的名称。
推荐阅读
- python-3.x - 如何在python嵌套字典中分配第一次键?
- c - task_struct 中的状态未定义
- pandas - Pandas DataFrame:如何获取时间序列中的原始索引
- python - 如何使用 python 脚本运行 .pyw 以便它们同时运行?
- python - 导入请求和夏洛克时出现 ModuleNotFoundError
- node.js - 使用 NPM 和 Node.js 提供选择的 html 页面
- r - 从 R 中的 ANOVA 测试中提取特定值
- c# - Microsoft.Extensions.DependencyInjection 范围服务缓存
- c# - c#中上下电梯的方法
- node.js - 在打字稿中将模块作为参数传递