如何用PB语句添加上这个句子
下面是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"
[解决办法]
先取出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)
[解决办法]
给你一个PB9写的 拆解SQL语句的通用函数
http://blog.csdn.net/yyoinge/article/details/7267592