SELECT NSR.NSRNBM, '10' ZZLX, NSRFB.FRSFZHM, NSR.SWDJZH
FROM t_dj_jgnsr nsr,
t_dj_jgnsrfb nsrfb,
(SELECT YZ.NSRNBM,
sum(SB.SWJGYHDE_JE) QNSRZE,
0 CB,
0 FY,
0 SS,
sum(SB.JSYJ) YNSSDE,
SB.SL,
sum(SB.YINGNSE_JE) YNSDSE,
sum(SB.YINSE_JE) QNYJSE,
sum(SB.BQYBTSE_JE) YBTSSDE,
'1' LYBZ
FROM t_sb_yzpz yz, t_sb_zhsbb sb
WHERE SB.PZ_XH = YZ.PZ_XH
AND SB.NSRNBM = YZ.NSRNBM
AND sb.nsrnbm = '1015340'
AND SB.ZSXM_DM = '06'
AND SB.ZSPM_DM = '0200'
AND YZ.PZZL_DM = '10191'
AND YZ.ZF_BJ = '0'
AND SB.SFSSQ_QSRQ >= DATE '2009-01-01'
AND SB.SFSSQ_ZZRQ <= DATE '2009-12-31'
GROUP BY YZ.NSRNBM, SB.SL) sbxx
WHERE nsr.nsrnbm = nsrfb.nsrnbm
FROM t_dj_jgnsr nsr,
t_dj_jgnsrfb nsrfb,
(SELECT YZ.NSRNBM,
sum(SB.SWJGYHDE_JE) QNSRZE,
0 CB,
0 FY,
0 SS,
sum(SB.JSYJ) YNSSDE,
SB.SL,
sum(SB.YINGNSE_JE) YNSDSE,
sum(SB.YINSE_JE) QNYJSE,
sum(SB.BQYBTSE_JE) YBTSSDE,
'1' LYBZ
FROM t_sb_yzpz yz, t_sb_zhsbb sb
WHERE SB.PZ_XH = YZ.PZ_XH
AND SB.NSRNBM = YZ.NSRNBM
AND sb.nsrnbm = '1015340'
AND SB.ZSXM_DM = '06'
AND SB.ZSPM_DM = '0200'
AND YZ.PZZL_DM = '10191'
AND YZ.ZF_BJ = '0'
AND SB.SFSSQ_QSRQ >= DATE '2009-01-01'
AND SB.SFSSQ_ZZRQ <= DATE '2009-12-31'
GROUP BY YZ.NSRNBM, SB.SL) sbxx
WHERE nsr.nsrnbm = nsrfb.nsrnbm
英文不好,请用中文吧,呵呵我的条件已经满足了呀,即使我最外层的SELECT只有四个字段,但是FROM后的表,我同样查询了。GROUP BY先将第一个SELECT分组了。但按理是分组完成第一个SELECT,应该接着第二个再分组,全部同时显示。但结果却不是这样。
sbxx.QNSRZE,sbxx.CB,sbxx.FY,sbxx.SS,sbxx.YNSSDE,sbxx.SL,sbxx.YNSDSE,
sbxx.QNYJSE,sbxx.YBTSSDE,sbxx.LYBZ
FROM t_dj_jgnsr nsr,
t_dj_jgnsrfb nsrfb,
(SELECT YZ.NSRNBM,
sum(SB.SWJGYHDE_JE) QNSRZE,
0 CB,
0 FY,
0 SS,
sum(SB.JSYJ) YNSSDE,
SB.SL,
sum(SB.YINGNSE_JE) YNSDSE,
sum(SB.YINSE_JE) QNYJSE,
sum(SB.BQYBTSE_JE) YBTSSDE,
'1' LYBZ
FROM t_sb_yzpz yz, t_sb_zhsbb sb
WHERE SB.PZ_XH = YZ.PZ_XH
AND SB.NSRNBM = YZ.NSRNBM
AND sb.nsrnbm = '1015340'
AND SB.ZSXM_DM = '06'
AND SB.ZSPM_DM = '0200'
AND YZ.PZZL_DM = '10191'
AND YZ.ZF_BJ = '0'
AND SB.SFSSQ_QSRQ >= DATE '2009-01-01'
AND SB.SFSSQ_ZZRQ <= DATE '2009-12-31'
GROUP BY YZ.NSRNBM, SB.SL) sbxx
WHERE nsr.nsrnbm = nsrfb.nsrnbm
and sbxx.nsrnbm=nsr.nsrnbm
你要的是不是这个效果?
0 FY,
0 SS,
'1' LYBZ
FROM t_dj_jgnsr nsr,
t_dj_jgnsrfb nsrfb,
(SELECT YZ.NSRNBM,
sum(SB.SWJGYHDE_JE) QNSRZE,
sum(SB.JSYJ) YNSSDE,
SB.SL,
sum(SB.YINGNSE_JE) YNSDSE,
sum(SB.YINSE_JE) QNYJSE,
sum(SB.BQYBTSE_JE) YBTSSDE,
FROM t_sb_yzpz yz, t_sb_zhsbb sb
WHERE SB.PZ_XH = YZ.PZ_XH
AND SB.NSRNBM = YZ.NSRNBM
AND sb.nsrnbm = '1015340'
AND SB.ZSXM_DM = '06'
AND SB.ZSPM_DM = '0200'
AND YZ.PZZL_DM = '10191'
AND YZ.ZF_BJ = '0'
AND SB.SFSSQ_QSRQ >= DATE '2009-01-01'
AND SB.SFSSQ_ZZRQ <= DATE '2009-12-31'
GROUP BY YZ.NSRNBM, SB.SL) sbxx
WHERE nsr.nsrnbm = nsrfb.nsrnbm
有点关系 ,都是通过一个字段 NSRNBM 来关联的
你这样做,还不如就这样写、select YZ.NSRNBM,
'10' ZZLX, --证照类型
NSRFB.FRSFZHM ZZHM, --证照号码
NSR.SWDJZH, --税务登记证号码
sum(SB.SWJGYHDE_JE) QNSRZE, --全年收入总额
0 CB, --成本
0 FY, --费用
0 SS, --损失
sum(SB.JSYJ) YNSSDE, --应纳税所得额
SB.SL, --税率
sum(SB.YINGNSE_JE) YNSDSE, --应纳所得税额
sum(SB.YINSE_JE) QNYJSE, --全年预缴税额
sum(SB.BQYBTSE_JE) YBTSSDE, --应补退税所得额
'1' LYBZ --来源标志
FROM DB_DJGL.T_DJ_JGNSR NSR,
DB_DJGL.T_DJ_JGNSRFB NSRFB,
DB_SBZS.T_SB_ZHSBB SB,
DB_SBZS.T_SB_YZPZ YZ
WHERE NSR.NSRNBM = NSRFB.NSRNBM
AND NSR.NSRNBM = SB.NSRNBM
AND SB.NSRNBM = YZ.NSRNBM
AND SB.PZ_XH = YZ.PZ_XH
--AND SB.NSRNBM = '1015340'
AND SB.ZSXM_DM = '06'
AND SB.ZSPM_DM = '0200'
AND YZ.PZZL_DM = '10191'
AND YZ.ZF_BJ = '0'
AND SB.SFSSQ_QSRQ >= DATE '2009-01-01'
AND SB.SFSSQ_ZZRQ <= DATE '2009-12-31'
GROUP BY YZ.NSRNBM, NSRFB.FRSFZHM, NSR.SWDJZH, SB.SL
14楼的上面的那段是不行的,我测试了,只是在后面增加了四个字段 CB FY SS