2014-12-16 3 views
0

мне нужно обновить таблицу, и это мой SQL-код до сих пор, но я получаю следующее сообщение об ошибке:SQL - таблица обновления

Строка 30: Неправильный синтаксис около «)».

UPDATE dbo.Part 
SET SupplierShortName = NationalSupplier.ShortName, 
SupplierLongName = NationalSupplier.LongName 
SELECT * 
    FROM dbo.Part 
JOIN dbo.NationalSupplier 
    ON Part.SupplierNumber = NationalSupplier.Number 
    AND (ISNULL(Part.SupplierShortName,'') <> ISNULL(NationalSupplier.ShortName,'') 
    OR ISNULL(Part.SupplierLongName,'') <> ISNULL(NationalSupplier.LongName,'')) 
    LEFT OUTER JOIN dbo.NationalPart 
    ON Part.NationalPartID = NationalPart.NationalPartID 
WHERE Part.DWCreationEntityID = 1 
    AND NationalPart.NationalPartID is NULL 


Thanks in advance for any valuable tips ! 

ответ

0

Попробуйте это:

UPDATE dbo.Part 
SET SupplierShortName = NationalSupplier.ShortName, 
SupplierLongName = NationalSupplier.LongName 
    FROM dbo.Part 
JOIN dbo.NationalSupplier 
    ON Part.SupplierNumber = NationalSupplier.Number 
    AND (ISNULL(Part.SupplierShortName,'') <> ISNULL(NationalSupplier.ShortName,'') 
    OR ISNULL(Part.SupplierLongName,'') <> ISNULL(NationalSupplier.LongName,'')) 
    LEFT OUTER JOIN dbo.NationalPart 
    ON Part.NationalPartID = NationalPart.NationalPartID 
WHERE Part.DWCreationEntityID = 1 
    AND NationalPart.NationalPartID is NULL 

Вы должны псевдоним имена таблиц, чтобы сделать вещи кратким.

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