PDA

View Full Version : انتقال اطلاعات از یک جدول به جدول دیگر



Iran58
سه شنبه 22 اردیبهشت 1394, 17:41 عصر
سلام فرض کنید دو جدول زیر را داریم


CREATE TABLE [dbo].[test](
[Id] [int] NULL,
[Name] [nvarchar](50) NULL,
[date] [date] NULL)
) ON [PRIMARY]

GO



CREATE TABLE [dbo].[test2](
[Id] [int] NULL,
[Name] [nvarchar](50) NULL
) ON [PRIMARY]

GO


یک سری اطلاعات در جدول test داریم که برای بار اول با دستور
insert into test2
(Id,name)
select test.Id,test.Name

اطلاعات را به جدول test2 انتقال داده ایم
حال من می خواهم دستور داشته باشم که در ساعت معینی برود از جدول test
1)اطلاعاتی سطرهای که id آن در جدول testاست ولی در test2 نیست را به جدول test2 انتقال بدهد
2)اطلاعات سطرهای که id آن در جدول testوtest2وجود دارد ولی تاریخ آنها در جدول test تاریخ امروز می باشد(سطرهای که در جدول test بروزرسانی شده اند) را بروزرسانی کند
ممنون می شوم باکد آموزش بدهید
باتشکر

Mahmoud.Afrad
سه شنبه 22 اردیبهشت 1394, 19:30 عصر
برای سوال اول کافیه همان چیزی که بیان میکنی رو به کوئری تبدیل کنی

insert into test2 (Id,name)
select test.Id,test.Name from test where test.id not in (select test2.id from test2)

برای سوال دوم هم باز کافیه تاریخ امروز رو بدست بیاری و در شرط استفاده کنی

update test2 set Name=test.name
from test , test2
where test.id=test2.Id and test.[date]=cast(GETDATE() as date)

یا از join استفاده کن

update test2 set Name=test.name
from test2
inner join test on test2.Id=test.id
where test.[date]=cast(GETDATE() as date)