b12345678b 2013-09-14 07:41 采纳率: 0%
浏览 3092

两张无关联表 根据时间这么累计金额?求SQL语句或解决方案

表A id datetime pay(收入表)
表B id Bdatetime pay(支出表)

A:
1 2012-08-19 22.00
2 2012-09-23 32.00
3 2012-09-30 33.00
B:
1 2012-08-20 -11.00
2 2012-09-24 -20.00
输出:
C:(id Cdatetime pay paycount)
1 2012-08-19 22.00 22.00
2 2012-08-20 -11.00 11.00
3 2012-09-23 32.00 43.00
4 2012-09-24 -20.00 23.00

  • 写回答

3条回答 默认 最新

  • 马欢欢 2013-09-14 09:08
    关注

    一个sql语句应该无法完成。
    建议使用TABLE函数实现。TABLE函数使用不负责。
    例:

    create or replace type t_test as object(
    id integer,
    rq date,
    mc varchar2(60)
    )
    /
    create or replace type t_test_table as table of t_test
    /
    
    create or replace function f_test_pipe(n in number default null) return t_test_table PIPELINED 
    as 
    v_test t_test_table := t_test_table();
    begin 
    for i in 1 .. nvl(n,100) loop
    pipe row(t_test(i,sysdate,'mc'||i)); 
    end loop; 
    return; 
    end f_test_pipe; 
    /
    select * from table(f_test_pipe(20))
    /
    
    评论

报告相同问题?

悬赏问题

  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题