Дублировать MethodID в запросе - PullRequest
0 голосов
/ 02 октября 2018

У меня есть запрос, который использует подзапрос, и я не могу понять, почему он говорит мне, что у меня есть дубликаты methodID.Предполагается, что запрос принимает данные и порядок по группам для отображения только самого последнего отдельного результата для данного студента, где может быть несколько результатов с разными временными метками, но с одним и тем же идентификатором студента

SELECT a.* 
  FROM 
     ( SELECT *
            , o.methodName oldName
            , n.methodName newName
            , s.firstName fName
            , s.lastName lName 
         FROM changeReport r
         LEFT 
         JOIN methodLookup o
           ON o.methodID = r.oldMethod
         LEFT 
         JOIN methodLookup n
           ON n.methodID = r.newMethod
         JOIN students s
           ON s.studentID = r.studentID
         LEFT 
         JOIN staffaccounts a
           ON r.staffID = a.staffID
        WHERE 31 IN (newSubMethod,oldSubMethod) 
          AND date(timestamp) = CURRENT_DATE
     ) a
  JOIN 
     ( SELECT students.studentID
            , MAX(timestamp) timestamp
         FROM changeReport r
         LEFT 
         JOIN methodLookup o
           ON o.methodID = r.oldMethod
         LEFT 
         JOIN methodLookup n
           ON n.methodID = r.newMethod
         JOIN students s
           ON s.studentID = r.studentID
         LEFT 
         JOIN staffaccounts a
           ON r.staffID = a.staffID
        WHERE 31 IN (newSubMethod,oldSubMethod) 
          AND date(timestamp) = CURRENT_DATE
    ) b
   ON b.studentID = a.studentID
  AND b.timestamp = a.timestamp;

Любые идеи о том, какэто может быть?

...