Foxtable(狐表)用户栏目专家坐堂 → [求助] SQL语句求助,结过2小时努力,还是失败


  共有2292人关注过本帖树形打印复制链接

主题:[求助] SQL语句求助,结过2小时努力,还是失败

帅哥哟,离线,有人找我吗?
huangfanzi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助] SQL语句求助,结过2小时努力,还是失败  发帖心情 Post By:2018/2/5 22:22:00 [显示全部帖子]

有一表,表名是 {调价表},结构如下:

生效日期      商品名   价格  合同编号
2018-1-1    商品1   100   合同1
2018-1-1    商品2   110   合同1
2018-1-15  商品1   150   合同1
2018-1-15  商品2   160   合同1

目的是用Dim rt As New prt.RenderTable生成个调价报表,生成的样子如下:

商品名  调价前单价  调价后单价
商品1      100           150
商品2      110           160

我目前的做法是 双击一个行号的行头事件,代码中有以下内容:
Dim dr As DataRow
dr = DataTables("调价表").SQLFind("生效日期 < '" & e.Row("生效日期") & "' And 合同编号 = '" & e.Row("合同编号") & "'","生效日期 Desc")
通过上面的代码得到了 当前行的上一个生效日期,然后的S ELECT语句一直试不出来,老师帮我看看

cmd.CommandText = "S elect 商品名,调价前单价,调价后单价 From (S elect 商品名,单价 As 调价后单价,(S elect 单价 From {调价表} Where 合同编号 = '" & e.Row("合同编号") & "' And 生效日期 = #" & dr("生效日期") & "#) As 调价前单价 from {调价表} where 合同编号 = '" & e.Row("合同编号") & "' And 生效日期 = #" & e.Row("生效日期") & "#)"



 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2018/2/5 23:07:00 [显示全部帖子]

老师,不能用 MIN 吧,因为如果表的内容如下:
生效日期      商品名   价格  合同编号
2018-1-1    商品1   100   合同1
2018-1-1    商品2   110   合同1
2018-1-15  商品1   150   合同1
2018-1-15  商品2   160   合同1
2018-2-15   商品1   180   合同1
2018-2-15   商品2   200   合同1

那么我想得到的结果应该是:
商品名  调价前单价  调价后单价
商品1      150           180
商品2      160           200
[此贴子已经被作者于2018/2/5 23:07:18编辑过]

 回到顶部