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

时间:2015-06-17 17:23:22

标签: sql sql-server sql-order-by

查询,说“Query-1”:

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

正常运行。但是,下面的“查询-2”:

Ambiguous column name

给我一​​个THIS_FIELD错误 select子句中的THIS_FIELDString的类型为THIS_FIELD,并且getMilliseconds()此处为整数时运行正常。

我怎样才能解决这个问题?

TIA。

2 个答案:

答案 0 :(得分:7)

如果查询是这样写的,你可能只需要在the_table上使用别名,或者在列前面添加表名,这样sql就知道要加载什么。

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

答案 1 :(得分:2)

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

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

这将按顺序位置工作和排序。