首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

dw_1.find()求切合条件的数据记录,高手帮忙看下

2013-03-26 
dw_1.find()求符合条件的数据记录,高手帮忙看下取值条件:工号 MZGHYYDJ.DJRY姓名 MZGHYYDJ.DJRYXM总预约

dw_1.find()求符合条件的数据记录,高手帮忙看下
取值条件:
工号= MZGHYYDJ.DJRY
姓名= MZGHYYDJ.DJRYXM
总预约数量=MZGHYYDJ 的记录数
有效预约数量=MZGHYYDJ.ZFRY IS NULL 的记录数
已取号数量= MZGHYYDJ.ZFRY IS NULL AND MZGHYYDJ.MZH IS NOT NUL

代码:
For ll_i = 1 to ids_fdmcb.rowcount( )
ls_userbz = ids_fdmcb.object.userbz[ll_i] + '.'
ls_sql  = " SELECT A.DJRY,A.DJRYXM,isnull(A.ZFRY,''), isnull(A.MZH,'')"
ls_sql += " FROM "+ls_userbz+"MZGHYYDJ A "
ls_sql += " GROUP BY A.DJRY ,A.DJRYXM"

DECLARE c1 DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :ls_sql;
OPEN DYNAMIC c1 USING :lde_minno,:lde_maxno;
do while true 
fetch c1 into :ls_djry,:ls_djryxm,:lde_zfry,:lde_mzh ;
if sqlca.sqlcode<>0 then
exit;
end if
ll_row  = dw_1.find(" djry ='"+ls_djry+"' ",1, dw_1.rowcount( ) )
ll_row1 = dw_1.find(" djry ='"+ls_djry+"' AND zfry='' ",1, dw_1.rowcount( ) )
ll_row2 = dw_1.find(" djry ='"+ls_djry+"' AND zfry='' AND mzh<>'' ",1, dw_1.rowcount( ) )
If ll_row <= 0 then
ll_row = dw_1.insertrow(0)
dw_1.object.djry[ll_row] = ls_djry
dw_1.object.djryxm[ll_row] = ls_djryxm
End If
dw_1.object.zyy[ll_row] = dw_1.object.zyy[ll_row] + 1
dw_1.object.yxyy[ll_row1] = dw_1.object.yxyy[ll_row1] + 1
dw_1.object.yqh[ll_row2] = dw_1.object.yqh[ll_row2] + 1
loop;
close c1;
Next
[解决办法]
太混乱了.
[解决办法]
没看明白
[解决办法]
每个人的解题思路都不太一样,理解别人思路有时候比自己写还难

本身你交待的问题不够明确,要想实现的目的也没有明确,一般是不愿意也没时间去仔细分析的

最好你把要求、目的和遇到的问题写清楚,这样别人也容易帮忙

有时候你在标明语句的用途时,自己就能找出问题的所在
[解决办法]
dw_1.object.zyy[ll_row] = dw_1.object.zyy[ll_row] + 1

这种写法,在多人并行运行的时候会出现问题的
[解决办法]
自己的业务逻辑思路没想好。
[解决办法]
工号= MZGHYYDJ.DJRY
姓名= MZGHYYDJ.DJRYXM
总预约数量=MZGHYYDJ 的记录数
有效预约数量=MZGHYYDJ.ZFRY IS NULL 的记录数
已取号数量= MZGHYYDJ.ZFRY IS NULL AND MZGHYYDJ.MZH IS NOT NUL


楼主 到底想干嘛。。。看的糊里糊涂啊。。。

如果只是需要查询 上面 这些 数据。。那从 sql 里面直接查询不就是了??算法你基本已明确了。。。
干嘛 在 那里 绕圈。。。又是游标 又是 dw的。。。。

如果你想实现 查询每个员工的 工号,姓名,总预约数量,有效预约数量,已取号数量  就使用子查询。。在 sql里面。。。

select a.工号,a.姓名,a.总预约数量,b.有效预约数量,c.已取号数量
from 
           (select MZGHYYDJ.DJRY 工号,MZGHYYDJ.DJRYXM 姓名,count(*) 总预约数量
              from MZGHYYDJ
              group by  DJRY,DJRYXM) a
 left join 
         (select MZGHYYDJ.DJRY 工号,MZGHYYDJ.DJRYXM 姓名,count(*) 有效预约数量


            from MZGHYYDJ
            and MZGHYYDJ.ZFRY IS NULL
            group by  DJRY,DJRYXM) b
     on a.DJRY=b.DJRY and a.DJRYXM=b.DJRYXM
 left join 
         (select MZGHYYDJ.DJRY 工号,MZGHYYDJ.DJRYXM 姓名,count(*) 已取号数量
            from MZGHYYDJ
             and MZGHYYDJ.ZFRY IS NULL AND MZGHYYDJ.MZH IS NOT NUL
            group by  DJRY,DJRYXM) c
     on a.DJRY=c.DJRY and a.DJRYXM=c.DJRYXM


[解决办法]
确实没看明白。。加点注释吧。。

热点排行
Bad Request.