SELECT
RENYB.RENYBH ,
RENYB.XINGM ,
100+sum (RYJCB.FENS) ,
JCMXB.KAOHYF
FROM
RENYB,//人员表
RYJCB,//人员奖惩表
JCMXB //奖惩明细表
WHERE
RENYB.RENYBH = RYJCB.RENYBH(+) AND
JCMXB.JIANGCBH = RYJCB.JIANGCBH AND
JCMXB.KAOHYF = 200306
GROUP BY
RENYB.RENYBH,
RENYB.XINGM,
JCMXB.KAOHYF
想实现的功能 统计人员表中每个人200306月的量化得分 基分是100分 加上人员奖惩
表的量化分,得出每个人得量化分
出现得问题
如果人员奖惩表中没有此人该月得奖惩记录 统计结果就没有这个人得
我得后台用得是Orcale 好像不支持union操作
RENYB.RENYBH ,
RENYB.XINGM ,
100+sum (RYJCB.FENS) ,
JCMXB.KAOHYF
FROM
RENYB,//人员表
RYJCB,//人员奖惩表
JCMXB //奖惩明细表
WHERE
RENYB.RENYBH = RYJCB.RENYBH(+) AND
JCMXB.JIANGCBH = RYJCB.JIANGCBH AND
JCMXB.KAOHYF = 200306
GROUP BY
RENYB.RENYBH,
RENYB.XINGM,
JCMXB.KAOHYF
想实现的功能 统计人员表中每个人200306月的量化得分 基分是100分 加上人员奖惩
表的量化分,得出每个人得量化分
出现得问题
如果人员奖惩表中没有此人该月得奖惩记录 统计结果就没有这个人得
我得后台用得是Orcale 好像不支持union操作
RENYB.RENYBH ,
RENYB.XINGM ,
100+sum (RYJCB.FENS) ,
JCMXB.KAOHYF
FROM
RENYB
left join RYJCB on RENYB.RENYBH = RYJCB.RENYBH
left join JCMXB on JCMXB.JIANGCBH = RYJCB.JIANGCBH AND
JCMXB.KAOHYF = 200306
GROUP BY
RENYB.RENYBH,
RENYB.XINGM,
JCMXB.KAOHYF
用外联就行了(如果不清楚可以看看help,什么左外联、右外联)
RENYB.RENYBH ,
RENYB.XINGM ,
100+sum (RYJCB.FENS) ,
JCMXB.KAOHYF
FROM
RENYB,//人员表
RYJCB,//人员奖惩表
JCMXB //奖惩明细表
WHERE
RENYB.RENYBH = RYJCB.RENYBH (+) AND
JCMXB.JIANGCBH (+) = RYJCB.JIANGCBH AND
JCMXB.KAOHYF = 200306
GROUP BY
RENYB.RENYBH,
RENYB.XINGM,
JCMXB.KAOHYF
少了一个(+)
我试了你的方法 还是只显示6月人员奖惩表里有的人的记录
不过很感谢你的热心帮助 分全给你 希望得到你得进一步帮助
RENYB.RENYBH ,
RENYB.XINGM ,
100+sum (RYJCB.FENS) ,
JCMXB.KAOHYF
FROM
RENYB,//人员表
RYJCB,//人员奖惩表
JCMXB //奖惩明细表
WHERE
RENYB.RENYBH = RYJCB.RENYBH (+) AND
JCMXB.JIANGCBH (+) = RYJCB.JIANGCBH AND
JCMXB.KAOHYF (+) = 200306
GROUP BY
RENYB.RENYBH,
RENYB.XINGM,
JCMXB.KAOHYF
再加个(+)试试