SQL 服务器 -- order by 子句依赖于 (field-list, type) 对

SQL Server -- order by clause is dependent on (field-list, type) pair

查询,比如"Query-1":

select THIS_FIELD, THAT_FIELD, THAT_COUNT 
    from THE_TABLE 
    order by THIS_FIELD
THIS_FIELD 的类型为 String 时,

运行 很好。但是,"Query-2" 下面:

select THIS_FIELD, THAT_FIELD, THAT_COUNT, * 
    from THE_TABLE 
    order by THIS_FIELD

isGiving me an Ambiguous column name 错误发生 THIS_FIELD 在 select 子句中 when THIS_FIELDString 类型,当 THIS_FIELD 这里是一个整数时 运行 OK。

我该如何解决这个问题?

TIA。

如果查询如所写,您可能只需要 the_table 上的别名或在列前加上 table 名称,以便 sql 知道要加载什么。

select ta.THIS_FIELD, ta.THAT_FIELD, ta.THAT_COUNT, ta.* 
    from THE_TABLE ta
    order by ta.THIS_FIELD

这只是为了让它发挥作用。这是非关系的。

select THIS_FIELD, THAT_FIELD, THAT_COUNT, * 
from THE_TABLE 
order by 1

这将起作用并按顺序排列。