Foxtable(狐表)用户栏目专家坐堂 → 关于SQL语句的使用


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

主题:关于SQL语句的使用

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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
关于SQL语句的使用  发帖心情 Post By:2018/3/23 7:42:00 [显示全部帖子]

设SQL是一条sql语句,希望再加上一列,我这样做:
sql = " *,新列 from(" & sql & ")"
经测试,不行。怎样才能行?

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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2018/3/23 9:31:00 [显示全部帖子]

谢谢。

我实际上是想添加商品表中的已有列“标准价”:

sql = " s elect  *,标准价 from (" & sql & ") as a INNER JOIN {商品表} on {商品表}.条码 = a.条码"

但是没有通过。

这样写法有何问题吗?


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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2018/3/23 9:46:00 [显示全部帖子]

因为原表中没有“标准价”列

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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2018/3/23 9:49:00 [显示全部帖子]

就是(" & sql & ")中没有标准价列

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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2018/3/23 10:05:00 [显示全部帖子]

 

我贴出全部代码吧,帮我看一下:

代码目的:创建结存表

 

Dim sql As String
Dim f1 As String ="where 店铺 = '**万达LT'"
Dim f2 As String =" where 店铺 = '**万达LT' AND 日期 >='2018-02-01' And 日期 <= '2018-02-28'"
sql = "s elect  店铺,条码,本月结存 As 上月结存,0 As 入库,0 As 出库, 0 As 销售  from {结存表}  f1 union all " & _
"s elect  店铺,条码,0,数量,0,0  from {@入库记录表}  f2 union all " & _
"s elect  店铺,条码,0,0,数量,0  from {@出库记录表}  f2 union all " & _
"s elect  店铺,条码,0,0,0,数量  from {@销售记录表}  f2 "
sql = sql.Replace("f1",f1)
sql = sql.Replace("f2",f2)
sql = sql.Replace("@","乐町")
sql = " s elect  店铺,条码,sum(上月结存) as 上月结存,sum(入库) as 入库 ,sum(出库) as 出库,sum(销售) as 销售,(sum(上月结存)+sum(入库)-sum(出库)-sum(销售)) as 本月结存 from (" & sql & ") As a group by 店铺,条码  ORDER BY 店铺,条码"

 

'----到此为止,代码正确。下面要添加商品表中存在的标准价列,但是报错了


sql = " s elect  *, 标准价 from (" & sql & ") as a inner join {@商品表} on {@商品表}.条码 = a.条码 "
sql = sql.Replace("@","乐町")
MessageBox.Show(sql)
Dim T1 As Table = e.Form.Controls("Table1").Table
T1.Fill(sql,"gsjcc",True)


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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2018/3/23 13:16:00 [显示全部帖子]

执行到:

sql = " s elect  店铺,条码,sum(上月结存) as 上月结存,sum(入库) as 入库 ,sum(出库) as 出库,sum(销售) as 销售,(sum(上月结存)+sum(入库)-sum(出库)-sum(销售)) as 本月结存 from (" & sql & ") As a group by 店铺,条码  ORDER BY 店铺,条码"

是对的,但是接着执行:

 

sql = " s elect * from (" & sql & ")"

 

就不对了,何故?

 

 

[此贴子已经被作者于2018/3/23 13:17:47编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1684 积分:16380 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2018/3/23 16:04:00 [显示全部帖子]

对啦,成功。

谢谢


 回到顶部