【和SQL对比】游离记录对象
员工张三的年龄,张三比李四大几岁,比王五早入职几天?
SQL解法
张三的年龄
select 年龄 from 员工表 where 姓名='张三'
张三比李四大几岁
select (select 年龄 from 员工表 where 姓名='张三') - (select 年龄 from 员工表 where 姓名='李四') from dual
比王五早入职几天
select (select 年龄 from 员工表 where 姓名='王五') - (select 年龄 from 员工表 where 姓名='张三') from dual
SQL计算不分步,无法引用已有的计算结果,需要将被引用语句重抄一遍。
SPL解法
A | B | |
1 | =demo.query(“select * from 员工表”) | |
2 | =A1.select@1(姓名:"张三") | =A2.年龄 |
3 | =A1.select@1(姓名:"李四") | =B2-A3.年龄 |
4 | =A1.select@1(姓名:"王五") | =interval(B2,A4.年龄) |
SPL支持游离记录用作变量值,可以充分利用中间结果。