خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server

برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server
با استفاده از دستور Update، در SQL Server به راحتی می توانید فیلدهای مورد و اطلاعات خود را در جداول بروزرسانی کنید. در واقع در این پست کوتاه به بررسی نحوه آپدیت برخی مقادیر یک جدول در جدول دیگر می پردازیم که برای این منظور می توانید از UPDATE FROM استفاده کنید. UPDATE FROM در واقع همان Select به همراه From است. در ادامه با روش های مختلفی از UPDATE FROM استفاده خواهیم کرد که به آپدیت اطلاعات خواهد انجامید. اما قبل از هر چیز، دو جدول در یک دیتابیس ایجاد می کنیم و سپس مقادیری را در آن insert می کنیم و سپس کار را ادامه می دهیم.

نرم افزار سامانه مودیان راهکار



CREATE TABLE [dbo].[MyTecBits_Table_1](
[Sl_no] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
[Description] [varchar](500) NULL
) ON [PRIMARY]
GO

insert into MyTecBits_Table_1 values ('Name One','Description One')
insert into MyTecBits_Table_1 values ('Name Two','Description Two')
insert into MyTecBits_Table_1 values ('Name Three','Description Three')
insert into MyTecBits_Table_1 values ('Name Four','Description Four')

/* Creating Second table */
CREATE TABLE [dbo].[MyTecBits_Table_2](
[Sl_no] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
[Description] [varchar](500) NULL
) ON [PRIMARY]
GO

insert into MyTecBits_Table_2 values ('1st Name','1st Description')
insert into MyTecBits_Table_2 values ('2nd Name','2nd Description')
insert into MyTecBits_Table_2 values ('3rd Name','3rd Description')
insert into MyTecBits_Table_2 values ('4th Name','3rd Description')

با Select زیر هم مقادیر هر دو جدول را در خروجی مشاهده می کنید:

Select * from MyTecBits_Table_1;
Select * from MyTecBits_Table_2;

برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server . آموزشگاه رایگان خوش آموز

خب، حالا که همه چیز آماده است، به ادامه کار می پردازیم.

Update FROM Select Statement

چیزی که ما نیاز داریم، بروزرسانی ستون های Name و Description همه ردیف ها در جدول MyTecBits_Table_1 با ستون های Name و Description در جدول MyTecBits_Table_2 با توجه به Sl_no است.

Update MyTecBits_Table_1
Set Name = b.Name, Description = b.Description
From MyTecBits_Table_2 as b Inner Join MyTecBits_Table_1 as a
On a.Sl_no = b.Sl_no

برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server . آموزشگاه رایگان خوش آموز

در اینجا بر اساس ستون identity به هر دو جدول باید ارتباط بگیریم. سپس جدول اول را با استفاده از FROM با INNER JOIN به جدول دیگر ارتباط می دهیم.

Update FROM Select Using WHERE Clause

حال ، سناریو را کمی پیچیده خواهیم کرد. در نظر بگیرید که ما باید ستون Name و Description در MyTecBits_Table_1 با Sl_no بزرگتر از 2 معادل آن در ستون Sl_no از جدول MyTecBits_Table_2 را بروزرسانی کنیم. خب در این شرایط از WHERE استفاده خواهیم کرد. لطفا به اسکریپت زیر دقت کنید.

Update MyTecBits_Table_1
Set Name = b.Name, Description = b.Description
From MyTecBits_Table_2 as b Inner Join MyTecBits_Table_1 as a
On a.Sl_no = b.Sl_no
Where a.Sl_no > 2

برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server . آموزشگاه رایگان خوش آموز

Update FROM Select Query: Same Table

توجه داشته باشید که باید مقادیر سطرهای خاص را در یک جدول با مقادیر برخی سطرهای دیگر از همان جدول بروز کنیم. در این حالت ، باید از همان جدول با inner join در From استفاده کنیم.
به عنوان مثال ، اگر می خواهیم مقدار ستون Description در جدول MyTecBits_Table_1 در جایی که Name برابر با Name Two است با ستون Description جدول مقابل در جایی که name برابر با Name Four است، به صورت زیر عمل می کنیم:

Update a
Set a.Description = b.Description
From MyTecBits_Table_1 as a Inner Join MyTecBits_Table_1 as b
On a.Name = 'Name Two' and b.Name = 'Name Four'

برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server . آموزشگاه رایگان خوش آموز

Update With Select Sub Query

یک روش دیگر برای همین سناریوی قبلی، استفاده از select به صورت Sub Query است.

Update MyTecBits_Table_1
Set Description = (Select Description From MyTecBits_Table_1 Where Name = 'Name Four')
Where Name = 'Name Two'

برروزرسانی مقادیر یک جدول بر اساس جدول دیگر با استفاده از UPDATE FROM در SQL Server . آموزشگاه رایگان خوش آموز


نمایش دیدگاه ها (3 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز