2016-07-28 7 views
-1

Ich versuche, eine Spalte zu aktualisieren, indem ich ihren Wert basierend auf einer Bedingung aus einer anderen Tabelle festlege. Also habe ich die folgenden: -Aktualisierungsabfragefehler: Die mehrteilige ID konnte nicht gebunden werden

UPDATE 
    [dbo].MachineLog 
SET 
    A.EmployeeId = B.EmployeeId 
FROM 
    [dbo].MachineLog as A 
INNER JOIN 
    [dbo].DeviceCode as B ON A.DeviceEnrollNo = B.DeviceEnrollNo 
WHERE 
    A.EmployeeId = 0 AND B.EmployeeId <> 0 

ich die Störung erhalte:

The multi-part identifier "A.EmployeeId" could not be bound.

Wie dieses Problem zu lösen?

Antwort

3

Entfernen Sie den Alias ​​aus der set-Klausel, und ändern Sie das Tabellenziel in den Aliasnamen. Ich bin mir nicht sicher, warum es unmöglich ist, den Alias ​​aus der from Klausel in der set Klausel zu verwenden, aber es ist möglich, es in der update Klausel zu verwenden. Vielleicht kann jemand anderes etwas über den Grund erzählen, warum das so ist.

+1

Wenn Leute lernen sollen, ist es hilfreich, darauf hinzuweisen a) Was Sie geändert haben und b) ** Warum ** es das Problem behebt. –

+0

@Damien_The_Unbeliever Korrigieren. meine Antwort bearbeitet. –

Verwandte Themen