我正在尝试在 Oracle(Oracle 数据库 11g 版本 11.2.0.1.0 )中使用横向连接,但它给出了一些错误。我已经关注了这个链接
https://oracle-base.com/articles/12c/lateral-inline-views-cross-apply-and-outer-apply-joins-12cr1#lateral-inline-views 并将其应用于相同的数据,但仍然是不工作。有人能弄清楚这个问题吗?
SELECT department_name, employee_name
FROM departments d,
LATERAL(SELECT employee_name FROM employees e WHERE e.department_id = d.department_id)
ORDER BY 1, 2;
添加更多细节以澄清为什么我需要横向连接:我有一个表,例如
ID Length
1 20
2 50
3 30
4 40
5 20
6 80
我想添加 ID 小于当前行 ID 的记录长度总和的另一列,即
ID Length Sum
1 20 NULL
2 50 20
3 30 70
4 40 100
5 20 140
6 80 160
例如,使用横向连接可能非常简单
select A.ID,A.length,Sum from Table A,
Lateral (select sum(B.length) as Sum from Table B where B.id<A.id);
那么有没有其他选择呢?