以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]查询语句中用了 UNION ALL 后,能指定某段的查询结果排序吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149400)

--  作者:huangfanzi
--  发布时间:2020/4/30 14:14:00
--  [求助]查询语句中用了 UNION ALL 后,能指定某段的查询结果排序吗
下面语句中,我是希望中间哪段必须有个排序,第1与第3段可以不排序,可是,只能在第3段后面加ORDER BY,在前面2段加上后就报错了,可是第3段后面加了后是对整个查询结果的排序,这不是我想要的结果,如何能换个思路解决这个问题呢?
其实我要实现的就是数据分三段加载,一头一尾只会查询出一个结果,所以排不排序无所谓,第2段会有好多记录,要按特定要求排序,这样才看的懂

t.Fill("s elect 属性,类型,我方简称,对方简称,合同编号,批号,类别,品名,数量 From {库存} Where 属性 = \'对外\' And 类型 = \'采购入库\' And 批号 = \'" & cb.Value & "\' ORDER BY 类型 UNION ALL s elect 属性,类型,我方简称,对方简称,合同编号,批号,类别,品名,数量 From {库存} Where 属性 = \'内转\' And 批号 = \'" & cb.Value & "\' ORDER BY 类型 UNION ALL s elect 属性,类型,我方简称,对方简称,合同编号,批号,类别,品名,数量 From {库存} Where 属性 = \'对外\' And 类型 = \'销售出库\' And 批号 = \'" & cb.Value & "\' ORDER BY 类型" ,"ShcsErpSql",True)
t.AutoSizeCols()
[此贴子已经被作者于2020/4/30 14:16:02编辑过]

--  作者:有点蓝
--  发布时间:2020/4/30 14:29:00
--  
不能,外面套一层select 再排序,其实sql里加排序也没有什么用,不会影响table

t.Fill("............
t.AutoSizeCols()
t.sort = "类型"