试一下这样
ClientDataSet1.CommandText:=’SELECT * FROM (SELECT * FROM DUAL A,(SELECT * FROM DUAL ) B WHERE A.DUMMY=B.DUMMY ORDER BY A.DUMMY’
ClientDataSet1.CommandText:=’SELECT * FROM (SELECT * FROM DUAL A,(SELECT * FROM DUAL ) B WHERE A.DUMMY=B.DUMMY ORDER BY A.DUMMY’
谢谢关注,
这样写是不会报错,可是我现在必须要写成子查询里带ORDER BY 的形式,我的SQL是这样的形式:
SELECT 字段列表 FROM
(SELECT 字段列表 FROM TABLE A ORDER BY KEY) A,
(SELECT 字段列表 FROM TABLE B ORDER BY KEY) B,
(SELECT 字段列表 FROM TABLE C ORDER BY KEY) C,
(SELECT 字段列表 FROM TABLE D ORDER BY KEY) D
WHERE A.BH=B.BH AND A.BH=C.BH AND A.BH=D.BH ORDER BY PX
由于关联的比较多,子查询的排序可以明显提高查询效率,而最终的结果是按其它字段排序。