如何用PB语句添加上这个句子

ilearn 2012-02-16 02:37:23
下面是ls_SQLSTRING变量内容,如何在 select 处和 group by 后面都添加 "inv_back_view.list_no",位置只要在SELECT 后面和GROUP BY 后面任何位置添加都可以,如何实现?
SELECT inv_back_view.cli_no,
client_view.cli_name,
client_view.client_Type_Name,
client_view.dis_Name,
sum(inv_back_view.inv_num * inv_back_view.sell_price) as inv_mon,
sum(inv_back_view.back_num * inv_back_view.sell_price) as back_mon,
sum(inv_back_view.inv_num * inv_back_view.dep_price) as inv_dep_mon,
sum(inv_back_view.back_num * inv_back_view.dep_price) as back_dep_mon,
sum(inv_back_view.inv_num * inv_back_view.std_price) as std_mon,
sum(inv_back_view.back_num * inv_back_view.std_price) as std_back_mon,
sum(inv_back_view.inv_num * inv_back_view.retail_price) as retail_mon,
sum(inv_back_view.back_num * inv_back_view.retail_price) as retail_back_mon
FROM inv_back_view,
client_view
WHERE ( inv_back_view.cli_no = client_view.cli_no )

group by inv_back_view.cli_no,
client_view.cli_name,
client_view.client_Type_Name,
client_view.dis_Name"
更改后变成

SELECT inv_back_view.cli_no,
inv_back_view.list_no,
client_view.cli_name,
client_view.client_Type_Name,
client_view.dis_Name,
sum(inv_back_view.inv_num * inv_back_view.sell_price) as inv_mon,
sum(inv_back_view.back_num * inv_back_view.sell_price) as back_mon,
sum(inv_back_view.inv_num * inv_back_view.dep_price) as inv_dep_mon,
sum(inv_back_view.back_num * inv_back_view.dep_price) as back_dep_mon,
sum(inv_back_view.inv_num * inv_back_view.std_price) as std_mon,
sum(inv_back_view.back_num * inv_back_view.std_price) as std_back_mon,
sum(inv_back_view.inv_num * inv_back_view.retail_price) as retail_mon,
sum(inv_back_view.back_num * inv_back_view.retail_price) as retail_back_mon
FROM inv_back_view,
client_view
WHERE ( inv_back_view.cli_no = client_view.cli_no )

group by inv_back_view.cli_no,
inv_back_view.list_no,
client_view.cli_name,
client_view.client_Type_Name,
client_view.dis_Name"
...全文
231 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyoinge 2012-02-17
  • 打赏
  • 举报
回复
给你一个PB9写的 拆解SQL语句的通用函数
http://blog.csdn.net/yyoinge/article/details/7267592
ilearn 2012-02-16
  • 打赏
  • 举报
回复
好的,谢谢
ilearn 2012-02-16
  • 打赏
  • 举报
回复
谢谢!!!
路人甲cw 2012-02-16
  • 打赏
  • 举报
回复
先取出Select与From之前的句子,然后再取出剩下的句子,再组合就行了。
例:

String ls_SQLSTRING="SELECT inv_back_view.cli_no, "+&
" client_view.cli_name, "+&
" client_view.client_Type_Name, "+&
" client_view.dis_Name, "+&
" sum(inv_back_view.inv_num * inv_back_view.sell_price) as inv_mon, "+&
" sum(inv_back_view.back_num * inv_back_view.sell_price) as back_mon, "+&
" sum(inv_back_view.inv_num * inv_back_view.dep_price) as inv_dep_mon, "+&
" sum(inv_back_view.back_num * inv_back_view.dep_price) as back_dep_mon, "+&
" sum(inv_back_view.inv_num * inv_back_view.std_price) as std_mon, "+&
" sum(inv_back_view.back_num * inv_back_view.std_price) as std_back_mon, "+&
" sum(inv_back_view.inv_num * inv_back_view.retail_price) as retail_mon, "+&
" sum(inv_back_view.back_num * inv_back_view.retail_price) as retail_back_mon "+&
" FROM inv_back_view, client_view "+&
" WHERE ( inv_back_view.cli_no = client_view.cli_no ) "+&
" group by inv_back_view.cli_no, "+&
" client_view.cli_name, "+&
" client_view.client_Type_Name, "+&
" client_view.dis_Name "
String ls_NewSelectStr=Left(ls_SQLSTRING,Pos(Lower(ls_SQLSTRING)," from "))+",inv_back_view.list_no "+&
Right(ls_SQLSTRING,Len(ls_SQLSTRING) - Pos(Lower(ls_SQLSTRING)," from "))+",inv_back_view.list_no "
Messagebox("",ls_NewSelectStr)
ilearn 2012-02-16
  • 打赏
  • 举报
回复
我就是想问一下如何用PB动态实现
xuam 2012-02-16
  • 打赏
  • 举报
回复
SELECT inv_back_view.cli_no,
inv_back_view.list_no,
client_view.cli_name,
client_view.client_Type_Name,
client_view.dis_Name,
sum(inv_back_view.inv_num * inv_back_view.sell_price) as inv_mon,
sum(inv_back_view.back_num * inv_back_view.sell_price) as back_mon,
sum(inv_back_view.inv_num * inv_back_view.dep_price) as inv_dep_mon,
sum(inv_back_view.back_num * inv_back_view.dep_price) as back_dep_mon,
sum(inv_back_view.inv_num * inv_back_view.std_price) as std_mon,
sum(inv_back_view.back_num * inv_back_view.std_price) as std_back_mon,
sum(inv_back_view.inv_num * inv_back_view.retail_price) as retail_mon,
sum(inv_back_view.back_num * inv_back_view.retail_price) as retail_back_mon
FROM inv_back_view,
client_view
WHERE ( inv_back_view.cli_no = client_view.cli_no )

group by inv_back_view.cli_no,
inv_back_view.list_no,
client_view.cli_name,
client_view.client_Type_Name,
client_view.dis_Name

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧