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

怎么用PB语句添加下这个句子

2013-01-20 
如何用PB语句添加上这个句子下面是ls_SQLSTRING变量内容,如何在 select 处和 group by 后面都添加 inv_ba

如何用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

热点排行