内容简介:我们的应用程序中有两个表都有一个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中忽略别名》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Git命令别名设置
- mybatis的typeAliases别名
- Elasticsearch基础但非常有用的功能之一:别名
- Elasticsearch索引的基本操作(5)-别名设置
- Elasticsearch 技术分析(三): 索引别名Aliases问题
- c++ 这是否真的破坏了严格的别名规则?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。