以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQL加上order by 后报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25803)

--  作者:jinruan
--  发布时间:2012/11/17 10:47:00
--  SQL加上order by 后报错
求解:
Tables(e.Form.Name &"_Table1").Fill("select b.销售订单id, b.销售单号 ,b.订单日期 ,b.客户id,a.订单明细id from {销售明细} a left join {销售订单} b on a.销售订单id = b.销售订单id   where  b.订单日期 = \'" & d1 & "\' order by b.销售订单id,a.销售明细id ","JRRJ",True)

这名去掉:
order by b.销售订单id,a.销售明细id 
就正常,加上就报错:select语句执行错误,请检查语法及数据源设置

--  作者:lin_hailun
--  发布时间:2012/11/17 11:01:00
--  
 order by 不用加 a 和 b,直接写列名就可以了。

--  作者:jinruan
--  发布时间:2012/11/17 11:05:00
--  
where  b.订单日期 = \'" & d1 & "\' order by   销售订单id,  销售明细id ","JRRJ",True)

where  b.订单日期 = \'" & d1 & "\' order by b.销售订单id,a.销售明细id ","JRRJ",True)

去了a和b,同样提示


--  作者:lin_hailun
--  发布时间:2012/11/17 11:18:00
--  
 呃,如果列名不唯一的话,可以不加表名限制。我测试可以排序的。

 语句好像没问题,你确定不加order by 可以执行?是的话,上个例子……

--  作者:jinruan
--  发布时间:2012/11/17 11:20:00
--  
where  b.订单日期 = \'" & d1 & "\' order by   销售订单id,  销售明细id ","JRRJ",True)
这样可以了,列名不对
where  b.订单日期 = \'" & d1 & "\' order by b.销售订单id,a.订单明细id ","JRRJ",True)

需要加a和b才行

--  作者:jinruan
--  发布时间:2012/11/17 11:25:00
--  
看来  订单明细id  得更改为  销售明细id  才更符合习惯