简体   繁体   English

在PowerBuilder中动态添加条件

[英]To add a condition dynamically in PowerBuilder

I'm new to Power Builder code. 我是Power Builder代码的新手。 I need to add a condition to Join dynamically. 我需要为“动态加入”添加条件。 Any help is appreciated. 任何帮助表示赞赏。 Thanks a lot 非常感谢

String szdSQL, psql, sznewsql 字符串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' " In my new query I want to add the condition present in this string variable (psql) in the join as below 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 "

Hmmm... That's an interesting case - adding a parameter to the ON clause, not the WHERE clause. 嗯...这是一个有趣的情况-向ON子句添加参数,而不是WHERE子句。

I'd use a datawindow, for sure (because I always do), but I'm not sure you can do that in graphic mode. 我肯定会使用数据窗口(因为我总是这样做),但是我不确定您是否可以在图形模式下进行操作。 You might have to convert to syntax, and then just add the new parameter into the ON clause with the ":" syntax. 您可能必须转换为语法,然后才使用“:”语法将新参数添加到ON子句中。

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

and then your PowerScript would be 然后您的PowerScript将是
dw_1.retrieve( lYear, lLocation, psql ) dw_1.retrieve(lYear,lLocation,psql)

-Paul Horan- 保罗·霍兰(Paul Horan)

如果只使用这两个不同的SQL,则可以只创建两个单独的数据窗口,然后动态交换出datawindow控件中使用的窗口。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM