2016-04-19 2 views
0

Я пытаюсь обновить пустой столбец со значениями в другой таблице с тем же именем столбца. Я написал заявление, чтобы получить эти значенияОбновление значений таблиц со значением из другой таблицы

SELECT p.[ID] 
     ,[PatientID] 
     ,p.[ClinicID] 
     ,[CurrentPlanNumber], 
     pin.ClinicId 
    FROM [ProductCheckout] p 
    inner join Patients pin 
    on p.PatientID=pin.Id 

При попытке обновить столбцы, которые я получаю сообщение об ошибке:

только одно выражение может быть указан в списке выбора, когда подзапрос не вводится с СУЩЕСТВУЕТ.

UPDATE [ProductCheckout] 
    SET ClinicId = (SELECT p.[ID] 
     ,[PatientID] 
     ,p.[ClinicID] 
     ,[CurrentPlanNumber], 
     pin.ClinicId 
    FROM [ProductCheckout] p 
    inner join Patients pin 
    on p.PatientID=pin.Id) 
+0

Вы обновляете только 'ClinicId', то почему вы так много выбора значений ?? – Wanderer

ответ

1

Попробуйте

UPDATE pin 
    SET pin.ClinicId = p.[ID] 
    FROM [ProductCheckout] pin 
    inner join Patients p 
    on pin.PatientID=p.Id 
1

Обновление с помощью JOIN.

Запрос

UPDATE t1 
SET t1.ClinidId = t2.ClinicId 
FROM [ProductCheckout] t1 
JOIN Patients t2 
ON t1.PatientID = t2.Id 
WHERE t1.ClinidId IS NULL; 
Смежные вопросы