别名使用相同的Alias两次

时间:2013-11-13 19:12:24

标签: sql group-by aliasing

我遇到了一个查询,其中开发人员在查询中使用了两次相同的别名。

在查询中已经多次这样做了 - 所以我不认为这是一个错误。是否有理由这样做,我不知道,或者只是草率的工作?

(Select
  AppointmentID
  ,Division
  ,Hospital
  ,ApptDate
  ,KeptDate
From
     (Select
          s1.AppointmentID
          ,s1.Division
          ,s1.Hospital
          ,s1.Apptdate
          ,s1.KeptDate
          From S1
          Group By
          s1.AppontmentID
          ,s1.Division
          ,s1.Hospital
          ,s1.Apptdate
          ,s1.KeptDate) as S2
Group By
  AppointmentID
  ,Division
  ,Hospital
  ,ApptDate
  ,KeptDate) As S2

这是简化的代码 - 还有更多的字段,但没有聚合,以及两个Group Bys一个接一个地跟随的事实。他们之间什么也没有。

谢谢,

2 个答案:

答案 0 :(得分:0)

如果您删除外部查询,您将获得相同的结果。所以这是这种形式的草率工作。 但是你删除了一些重要的东西来简化它可能是一个原因的例子。 (例如加入额外的表格。)

答案 1 :(得分:0)

  1. 除非您有聚合函数(MIN/MAX/AVG等)
  2. ,否则不要使用聚合
  3. 尽量不要使用相同的别名两次(令人困惑)
  4. 当最小粒度(AppointmentID)在聚合中时,它会使它无用(它是唯一的吗?)如果它是唯一的,这将返回与简单SELECT语句<相同的结果/ LI>