Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Дублирование записей с раздыми показателями.  [new]
Starbuck
Member

Откуда:
Сообщений: 16
Добрый день.
Встатла проблема при выборке из двух баз. Данные дублируются, при этом в дубле показываются совершенно другие данные. В чем может быть проблема?
Запрос:
SELECT FG.BusinessUnitName, FG.WorkCenterName, FG.Date, FG.Name, STP.stop_a from
(SELECT     
            dwc.BusinessUnitName,
            dwc.WorkCenterName,
            dwc.WorkCenterName + CONVERT ( varchar, DS.date, 5 ) + DS.name as pdpkey,
            DS.Date,
            DS.name,
            ds.ShiftOrder,
            FSKP.WorkCenterSK , 
            FSKP.ShiftSK,           
            ISNULL(SUM(FSKP.ProductionVolumeLocalTH),0) as ProductionVolumeLocalTH, -- RFE: table as source         
            ISNULL(SUM(FSKP.ProductionVolumePlanTH), 0) AS ProductionVolumePlanTH
      FROM          
            --vw_Fact_Secondary_KPI_Params_shift AS FSKP -- RFE: view as source
            Fact_Secondary_KPI_Params (nolock)  AS FSKP 
            inner JOIN  vw_Dim_Work_Center (nolock)  AS DWC ON DWC.WorkCenterSK = FSKP.WorkCenterSK and DWC.FactorySK = 3
                        
            inner JOIN  Dim_Shift (nolock)  AS DS ON DS.ShiftSK = FSKP.ShiftSK  
                              and DS.Date BETWEEN dateadd(day,1-day(DATEADD(month,-12,cast(getdate() as date))),DATEADD(month,-12,cast(getdate() as date))) and cast(GETDATE()  as date)
      GROUP BY 
            dwc.BusinessUnitName,
            dwc.WorkCenterName,
            FSKP.WorkCenterSK,
            DS.Date,
            DS.name,
            ds.ShiftOrder,
            FSKP.ShiftSK) AS FG
            LEFT JOIN
            (SELECT DISTINCT
  
  SUM(DTE.Occurences) AS stop_a
  ,DTE.WorkCenterCode as WorkCenterCode
  ,DTE.ShiftOrder as ShiftOrder
  ,DTE.ShiftDate as ShiftDate
FROM
  MINTRAWDATARU04QAS.dbo.TBL_EQUIPMENT_TIME_SHIFT_DOWNTIME_EVENT as DTE
WHERE
  DTE.MachineDownTimeCode NOT LIKE N'0'
  AND DTE.WorkCenterCode LIKE N'MA%'
GROUP BY 
  WorkCenterCode
  ,ShiftOrder
  ,ShiftDate
) AS STP
ON  STP.WorkCenterCode = FG.WorkCenterName
AND STP.ShiftDate=FG.Date
ORDER BY [Date]


Пример результата:
BU1 MA22PA22 2012-12-01 A 455
BU1 MA22PA22 2012-12-01 B 455

BU1 MA22PA22 2012-12-01 A 525
BU1 MA22PA22 2012-12-01 B 525
23 дек 13, 12:05    [15332943]     Ответить | Цитировать Сообщить модератору
 Re: Дублирование записей с раздыми показателями.  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
ну наверное обьединение с этой таблицей дает неоднозначные результаты
inner JOIN  Dim_Shift (nolock)  AS DS ON DS.ShiftSK = FSKP.ShiftSK  
                              and DS.Date BETWEEN dateadd(day,1-day(DATEADD(month,-12,cast(getdate() as date))),DATEADD(month,-12,cast(getdate() as date))) and cast(GETDATE()  as date)
23 дек 13, 12:40    [15333271]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить