hur.cn - 华软网

 热门搜索

刚开始工作遇到困难,请大家帮忙,无限感激!!

  作者:未知    来源:网络    更新时间:2018/5/16
我现在有这么几个表,一个是地区表、一个是品种表、 一个是价格类型表(例如出厂价 批发价 超市价) 、  一个是数据表 ;我需要根据选择的地区、品种、时间从数据表中搜索数据到数据窗口

举例:
其中数据表结构:
areaid(地区id)      varietyid(品种id)    pricetype(类型id)       price(价格)   ym(时间)
010000(北京id)     10020304  (烤鸭id)     001   (出厂价id)          25       20050801
010000(北京id)     10020304  (烤鸭id)     002   (批发价id)          35       20050801
010000(北京id)     10020304  (烤鸭id)     002   (超市价id)          45       20050801
     
数据窗口显示:

地区        品种       出厂价      批发价    超市价      时间 
北京        烤鸭         25          35        45       20050801


注:还有我的表名因为需要是变化的,也就是变量,在搜索的时候这要怎么弄啊,对我来说真是难上加难,大家多帮忙,我是个菜鸟,谢谢了!!
------华软网友回答------
请大家多多帮忙!在线等
------华软网友回复------
SetSqlSelect()直接修改DW的SQL
------华软网友回复------
能不能详细点,先解决怎么把在数据库中属于一列的项(如上边的价格形势字段,里边有出厂价 批发价 超市价),在数据窗口中分列显示。   如楼上 j9dai(DoItNow) 这里我要建立数据窗口 是指是要先建立Grid——>SQL Select——> 任选几列 ,然后再对sql修改么?
------华软网友回复------
今天还是没有人来回答么,拜托大家了!
------华软网友回复------
既然要把 pricetype(类型id) 一个栏位变成多个, 而且你的价格种类是不是只有这三种,还是存在其他类定义的价格,
建议您在后台用存储过程构造个临时表, 然后在pb中用这个临时表做数据窗口解决问题!
------华软网友回复------
什么类型的数据库
先做一个视图把这几个表的信息关联起来,这不用我细说了吧?

然后基于这个视图写sql作为数据窗口的数据源,使用case when 

SELECT  areaid,varietyid,
         
sum(CASE WHEN pricetype = '001' THEN price ELSE 0 END) AS price001,
sum(CASE WHEN pricetype = '002' THEN price ELSE 0 END) AS price002,
sum(CASE WHEN pricetype = '003' THEN price ELSE 0 END) AS price003,
ym
FROM view_你的视图
WHERE .....
GROUP BY areaid,varietyid,ym      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。