在PowerBuilder中动态添加条件

时间:2015-08-10 23:42:11

标签: sql-server powerbuilder

我是Power Builder代码的新手。我需要动态添加一个条件。任何帮助表示赞赏。非常感谢

String szdSQL,psql,sznewsql

   szdSQL = "Select A, B, C, D 
   FROM  sy_staging
   LEFT OUTER JOIN fd_M
   ON sy_staging.id = fd_M.id
   LEFT OUTER JOIN gl_M
   ON sy_staging.id= gl_M.id AND sy_staging.version = gl_M.version
   WHERE sy_staging.year = :lyear AND
   sy_staging.location = :llocation "

psql =" Upper(fd_M.code3)=' SMM' " 在我的新查询中,我想在连接中添加此字符串变量(psql)中存在的条件,如下所示

sznewsql = " "Select A, B, C, D 
   FROM  sy_staging
   LEFT OUTER JOIN fd_M
   ON sy_staging.id = fd_M.id AND Upper(fd_M.code3) = 'SMM'
   LEFT OUTER JOIN gl_M
   ON sy_staging.id= gl_M.id AND sy_staging.version = gl_M.version
   WHERE sy_staging.year = :lyear AND
   sy_staging.location = :llocation "

2 个答案:

答案 0 :(得分:1)

嗯......这是一个有趣的案例 - 在ON子句中添加一个参数,而不是WHERE子句。

我肯定会使用数据窗口(因为我总是这样做),但我不确定你能否在图形模式下这样做。您可能必须转换为语法,然后只需使用“:”语法将新参数添加到ON子句中。

LEFT OUTER JOIN fd_M  
ON sy_staging.id = fd_M.id AND Upper(fd_M.code3) = :newStringParm  
LEFT OUTER JOIN gl_M
...

然后你的PowerScript将是 dw_1.retrieve(lYear,lLocation,psql)

-Paul Horan -

答案 1 :(得分:0)

如果你只想拥有这两个不同的SQL,你可以创建两个独立的数据窗口,然后动态交换数据窗口控件中使用的那个。