sql-server – 在OrderBy中忽略别名

栏目: 数据库 · 发布时间: 7年前

内容简介:我们的应用程序中有两个表都有一个ShowOrder列.我们在我们的应用程序中使用NHibernate并使用HQL,我们分别连接第一个表和第二个表的ShowOrder排序的这两个表.这是我的查询的简化版本:一般来说,我们的应用程序没有任何问题.但我们有一个旧的应用程序和一个转换例程来将其数据库转换为我们的新应用程序数据库.

我们的应用程序中有两个表都有一个ShowOrder列.我们在我们的应用程序中使用NHibernate并使用HQL,我们分别连接第一个表和第二个表的ShowOrder排序的这两个表.

这是我的查询的简化版本:

SELECT pr.Id as Id,pr.Title as Title, pr.ShowOrder as ShowOrder 
FROM Process pr 
    INNER JOIN ProcessGroup prg ON pr.GroupId=prg.Id 
ORDER BY prg.ShowOrder,pr.ShowOrder

一般来说,我们的应用程序没有任何问题.但我们有一个旧的应用程序和一个转换例程来将其数据库转换为我们的新应用程序数据库.

每当我们将旧数据库转换为新数据库时,SQL服务器想要执行上述查询时都会发生错误.例外情况说:

A column has been specified more than once in the order by list

如果我们选择没有别名的pr.ShowOrder一切正常.

似乎如果在选择列表中有ShowOrder别名,SQL Server会忽略表别名并假定pr.ShowOrder和prg.ShowOrder是相同的.


以上所述就是小编给大家介绍的《sql-server – 在OrderBy中忽略别名》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

突破之道

突破之道

(美)基思 R. 麦克法兰(Keith R. McFarland) / 江南、江维 / 机械工业出版社 / 2017-4 / 49.00

《从优秀到卓越》前传。 深入调查7000多家公司、1500多名关键管理人员,总结提炼出6大突破式发展策略。 解析创业成功后的公司如何腾飞,以几何速度增长,突破10亿关口。 阐述为什么创始人自己才是企业实现突破的最大障碍。一起来看看 《突破之道》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具