Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как соблюсти последовательность при соединении таблиц (http://forum.oszone.net/showthread.php?t=344156)

r-studio 23-02-2020 13:34 2910521

Как соблюсти последовательность при соединении таблиц
 
Решил открыть новую тему. Помогите, пожалуйста
Я джойню ряд таблиц
Скрытый текст
Код:

SELECT
       
      asutNbd_violations.IncidentTypeID
      ,asutNbd_violations.IncidentID
      ,asutNbd_violations.ViolationDate as Date_NAR
      ,asutNbd_violations.BrigadeEnterpriseID
      ,asutNbd_violations.ViolationID as ID_SP_NAR,

          incidents.IncidentDate,
      incidents.RouteID,

      incidents.PersID,
      -- incidents.CasseteID,

      incidents.MIPersID as 'машинист инструктор'

        /* ,routes_personal.RouteID
      ,routes_personal.PersRegID
      ,routes_personal.RoutePostID
      ,routes_personal.BeginDate
      ,routes_personal.EndDate
      ,routes_personal.RouteDate*/
         

       
    ,personal_registration.EnterpriseID

      --,personal_registration.DateFrom
        , CASE
                WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 1 THEN 'group_0to1y'
                WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 1 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 4 THEN 'group_1to3y'
                WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 4 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 8 THEN 'group_3to8y'
                WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 8 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 12 THEN 'group_8to12y'
                WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 12 AND DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) < 20 THEN 'group_12to20y'
                WHEN DATEDIFF(yyyy, personal_registration.DateFrom, getdate()) >= 20 THEN 'group_20y'
                ELSE NULL
          END AS DateFrom
          ,personal_registration.DateTo
      ,personal_registration.TabNum
      ,personal_registration.IsDetached as 'уволен или нет'




      ,personal.LastName
      ,personal.FirstName
      ,personal.PatrName
      ,personal.CurrEnterpriseID  as KOD_DEPO
      ,personal.CurrDateTo
      ,personal.CurrTabNum
      ,personal.CurrIsDetached

      ,personal.MainTabNum as 'основной персонал это табельники людей'

        FROM asutNbd_violations
                        inner JOIN incidents ON [report_send230Fail].RouteID = incidents.RouteID
                and [report_send230Fail].Date = incidents.IncidentDate
                        --получаем табельники , ФИО, а также лиц которые есть в инциденте
                inner JOIN personal_registration AS PR5 ON incidents.PersID = PR5.[PersID]
                                -- затем получаем код деп
                                inner JOIN personal ON personal_registration.[DateTo] = personal.[CurrDateTo]
                and personal_registration.[TabNum] = personal.[CurrTabNum]
        -- затем получаем id sp nar, date nar, MI
                inner JOIN incidents ON asutNbd_violations.CasseteID = incidents.CasseteID



но получаю ошибки вида
Скрытый текст
Сообщение 4104, уровень 16, состояние 1, строка 56
The multi-part identifier "report_send230Fail.RouteID" could not be bound.
Сообщение 4104, уровень 16, состояние 1, строка 57
The multi-part identifier "report_send230Fail.Date" could not be bound.
Сообщение 4104, уровень 16, состояние 1, строка 61
The multi-part identifier "personal_registration.DateTo" could not be bound.
Сообщение 4104, уровень 16, состояние 1, строка 62
The multi-part identifier "personal_registration.TabNum" could not be bound.
Сообщение 1013, уровень 16, состояние 1, строка 1
The objects "incidents" and "incidents" in the FROM clause have the same exposed names. Use correlation names to distinguish them.


Как мне сделать,чтобы последовательность была соблюдена. Помогите, пожалуйста


Время: 08:24.

Время: 08:24.
© OSzone.net 2001-