SELECT Difference.Zkzh AS 准考证号码, Difference.Code AS 报名号, Difference.Name AS 姓名, Difference.FieldName AS 列, IIf(IsNull([temp_1].[名称]),[before],[temp_1].[名称]) AS 以前, IIf(IsNull([temp_1_1].[名称]),[now],[temp_1_1].[名称]) AS 现在
FROM (Difference LEFT JOIN temp_1 ON Difference.Before = temp_1.代码) LEFT JOIN temp_1 AS temp_1_1 ON Difference.[Now] = temp_1_1.代码
ORDER BY Difference.Zkzh;
复制代码
求解:把二个查询合并,用一个查询实现。
附实例下载。谢谢!
该问题困扰我多天了。
作者: roych 时间: 2013-2-4 13:46
应该可以用别名来处理,类似于:
select * from (select * from B) as A
创建查询跟执行查询是两码事,查询运行速度跟创建查询的多少并没有必然联系,而跟索引属性、语句可读性和查询条件等等有关系。能够一个查询完成的,固然没必要分成几个。但是,出于可读性和直观性,有时候确实不必非要寻求一步到位的查询。毕竟别名用多了,不方便检查和修改查询。——反正我宁可在窗格里修改查询也不愿去编辑N个别名的SQL语句。作者: isyuan 时间: 2013-2-5 13:36 本帖最后由 isyuan 于 2013-2-16 10:10 编辑