我想查询一些客户的信息条件为:上个月缴费,这个月退费的
时间段是1-3月份
下面是其中关键的SQL段
AND EXISTS (SELECT 'X'
FROM lppol t1, lpedoritem t2, lpedorapp t3
WHERE t1.edorno = t2.edorno
AND t2.edoracceptno = t3.edoracceptno
AND (t2.edortype = 'CT' or t2.standbyflag1 = '1')
AND t2.edorstate = '0'
AND t3.confdate BETWEEN date '2010-03-01' AND date
'2010-03-31'
AND t1.polno = a.polno) AND EXISTS
(SELECT 'X'
FROM ljapayperson l --实收个人缴费表
WHERE a.polno = l.polno
AND l.paycount = 1 --第几次交款
AND l.paytype = 'ZC' --缴费类型
AND l.payplancode NOT LIKE '000000%' --缴费计划编码
AND l.confdate BETWEEN date '2010-02-01' AND date
'2010-02-28') --确认日期
如上SQL只能查询出三月份的信息,既第一个AND 是退费日期,第二个AND 是交费日期我要是想查二月份我只能再把两个时间在该成
退费日期:
2010-02-01 和 2010-02-28
交费日期:
2010-01-01 和 2010-01-31现在能不能写一个SQL来同时查询三个月的数据?
时间段是1-3月份
下面是其中关键的SQL段
AND EXISTS (SELECT 'X'
FROM lppol t1, lpedoritem t2, lpedorapp t3
WHERE t1.edorno = t2.edorno
AND t2.edoracceptno = t3.edoracceptno
AND (t2.edortype = 'CT' or t2.standbyflag1 = '1')
AND t2.edorstate = '0'
AND t3.confdate BETWEEN date '2010-03-01' AND date
'2010-03-31'
AND t1.polno = a.polno) AND EXISTS
(SELECT 'X'
FROM ljapayperson l --实收个人缴费表
WHERE a.polno = l.polno
AND l.paycount = 1 --第几次交款
AND l.paytype = 'ZC' --缴费类型
AND l.payplancode NOT LIKE '000000%' --缴费计划编码
AND l.confdate BETWEEN date '2010-02-01' AND date
'2010-02-28') --确认日期
如上SQL只能查询出三月份的信息,既第一个AND 是退费日期,第二个AND 是交费日期我要是想查二月份我只能再把两个时间在该成
退费日期:
2010-02-01 和 2010-02-28
交费日期:
2010-01-01 和 2010-01-31现在能不能写一个SQL来同时查询三个月的数据?
用条件to_number(to_char(t3.confdate,'yyyymm'))=to_number(to_char(l.confdate,'yyyymm'))+1取出上月缴费,本月退费就可以了吧