2 foreveralways3 ForeverAlways3 于 2014.12.16 12:03 提问

各位前辈看下这条SQL应该怎么写

以在2011-01-01之后仍未销户以及新增(开户日小于2011-01-01且销户日大于等于2011-01-01,以及开户日大于等于2011-01-01)的活期存款账户为总体。
对201单位活期存款 和21101活期储蓄存款 科目下所有本币账户级数据抽取以下信息(包括2011-01至2014-11各月月末余额),数据格式如下:

账号 客户号 科目号 开户日 2011-01月末余额 2011-02月末余额 ... 2014-11

8位数字格式日期
表1账户级数据需求格式
账号、客户号前加A,避免识别为数字;对于无余额记录的月份,其数据置为空值。

表的结构
MON 月份
AC_ID 帐号
CIF_NO 客户号
ACC_NO 科目号
OPN_DATE 开户日期
VAL_DATE
RATE
BAL 余额
我刚才试写一下,思路是先把201101月份的余额写出来
SELECT C.MON,AC_ID,CIF_NO,ACC_NO,OPN_DATE,BAL FROM PRD_201101_201411 C

WHERE ((OPN_DATE >= 20110000) AND (MON >= 201101 AND MON <201102));

select a.MON,AC_ID,CIF_NO,ACC_NO,OPN_DATE,
(SELECT b.BAL FROM PRD_201101_201411 b
WHERE ((OPN_DATE >=20110000) AND (MON >=201101 AND MON < 201102)) and (a.AC_ID=b.AC_ID)
) FAR_BAL
FROM PRD_201101_201411 a
;

然后子查询 可是输出的结果BAL全是null值
渣渣新人,求指教,谢谢各位

1个回答

fredrickhu
fredrickhu   Ds   Rxr 2014.12.17 16:54

最好还是能给点测试数据 这样才比较清晰。不然的话光看文字有点晕

Csdn user default icon
上传中...
上传图片
插入图片