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中忽略别名》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

人工智能

人工智能

腾讯研究院、中国信通院互联网法律研究中心、腾讯AI Lab、腾讯开放平台 / 中国人民大学出版社 / 2017-10-25 / 68.00元

面对科技的迅猛发展,中国政府制定了《新一代人工智能发展规划》,将人工智能上升到国家战略层面,并提出:不仅人工智能产业要成为新的经济增长点,而且要在2030年达到世界领先水平,让中国成为世界主要人工智能创新中心,为跻身创新型国家前列和经济强国奠定基础。 《人工智能》一书由腾讯一流团队与工信部高端智库倾力创作。本书从人工智能这一颠覆性技术的前世今生说起,对人工智能产业全貌、最新进展、发展趋势进行......一起来看看 《人工智能》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具