2013-11-13 4 views
1

Я столкнулся с запросом, когда разработчик дважды использует один и тот же псевдоним в запросе.Сглаживание с использованием одного и того же псевдонима дважды

Это было сделано несколько раз в Query, поэтому я не думаю, что это была ошибка. Есть ли причина делать это, о чем я не знаю, или это просто неряшливая работа?

(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 

Это код упрощен понижающего Есть много больше полей, но не агрегат в них, а также тот факт, что обе группы Bys не следуют один за другим. Между ними нет ничего.

Спасибо,

+0

это была просто опечатка на моей части, когда передавая код. – SASUSMC

+1

Я не пытаюсь создать этот код Мне интересно, почему это было сделано. Если есть веские основания для этого. – SASUSMC

+0

Псевдоним, используемый дважды, является наименьшим количеством проблем в этом запросе. –

ответ

0
  1. Не использовать агрегацию, если у вас есть функция агрегации (MIN/MAX/AVG и т.д.)
  2. Старайтесь не использовать один и тот же псевдоним дважды (это заблуждение)
  3. Когда наименьшее зернистость (AppointmentID) находится в агрегации, что делает его бесполезным (это уникально?), если он уникален, это будет возвращать тот же результат, как простой SELECT даного
+0

Да, он понял, что это небрежное кодирование. Просто интересно, есть ли что-то, чего я не видел, почему это будет сделано. – SASUSMC

0

Если вы раздеться внешний запрос, вы получите тот же результат. Так что это неряшливая работа в этой форме. Но вы удалили что-то важное, чтобы упростить пример, это может быть причиной. (Например, присоединились дополнительные таблицы.)

+0

Поняв, что это было неряшливо, просто интересно, было ли что-то, что мне не хватало, почему они это сделали бы. – SASUSMC