2016-04-19 16 views
0

同じカラム名を持つ別のテーブルの値で空のカラムを更新しようとしています。私はエラーを取得する列を更新しようとすると、これらの値別のテーブルからの値でテーブル値を更新する

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

を取得するために文を書いた:

サブクエリがで導入されていない場合のみ1式が選択リストで指定することができます存在。

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

JOINを使用して、この

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

アップデートをお試しください。

クエリ

UPDATE t1 
SET t1.ClinidId = t2.ClinicId 
FROM [ProductCheckout] t1 
JOIN Patients t2 
ON t1.PatientID = t2.Id 
WHERE t1.ClinidId IS NULL; 
関連する問題