2016-04-11 3 views
-2

Я создаю отчеты в SQL Server Report Builder. Надеюсь, кто-то может мне помочь в этом случае. Мой запрос показывает мне ошибку, если я добавлю третье внутреннее соединениеобъединение трех операторов выбора

Как добавить третий оператор выбора?

+0

FYI, просто раскрашивая кучу неформатированного текста как 'code', не делает его читаемым – pkuderov

+0

Добавьте' Name' в группу по третьему запросу ('E'). Перенесите первое условие ON перед вторым JOIN. –

ответ

0

Необходимо обновить окончательный пункт GROUP BY. Включение полного имени в предложение SELECT требует полного имени в GROUP BY.

Как правило: при использовании GROUP BY должно появиться все поля, используемые в предложении SELECT, которые не объединены с aggregate function.

Select 
    SUM(cast(Units as int)) as CounterName, 
    left(Name,4) as Machine, 
    Name as WasteLabel 
from 
    Trouble 
     inner join tsystem ON Trouble.systemid = tsystem.id 
where 
    Name not in ('Aus', 'An', 'Produced') 
    and IntervalDateWeek >= dateadd(wk, datediff(wk, 0, getdate()) - 2, 0) 
    and IntervalDateWeek <= dateadd(wk, datediff(wk, 0, getdate())-1, 0) 
    and left(Name, 4) in (Select name from tSystem 
where 
    ID in 
     (
      Select 
       systemid 
      from 
       tsystemviewSystemwhere 
      WHERE 
       SystemViewID = 4) 
     ) 
group by 
    Name 

Я подозреваю, что ваш запрос может быть улучшен. Добавление clear sample data and expected output поможет здесь.

+0

Благодарю вас за помощь. и извините за мой плохой английский, вот почему я не могу объяснить свою проблему :) – mayo

Смежные вопросы