PDA

View Full Version : inner join دو جدول و ریختن در یک جدول دیگر



parva-88
پنج شنبه 16 شهریور 1391, 14:17 عصر
با سلام خدمت دوستان. دوستان من میخوام 2 تا جدولو با هم inner join کنم بجای اینکه روی gridview نشون بدم توی یک جدول دیگه ذخیره کنم اگه کسی جواب سوالمو میدونه لطفا کمک کنه در ضمن کد ش رو اگه به c# بگین ممنون میشم.

ali ghaemi
پنج شنبه 16 شهریور 1391, 19:59 عصر
شما می تونید از دستور INSERT...SELECT استفاده کنید مثلا من در دستور زیر سعی کردم حاصل JOIN دو جدول Publishers و Titles رو در یک جدول به نام Temp بریزم

USE Pubs
GO

CREATE TABLE [dbo].[Temp](
[title_id] [dbo].[tid] NOT NULL,
[title] [nvarchar](80) NOT NULL,
[type] [nchar](12) NOT NULL,
[pub_id] [nchar](4) NULL,
[price] [money] NULL,
[advance] [money] NULL,
[royalty] [int] NULL,
[ytd_sales] [int] NULL,
[notes] [nvarchar](200) NULL,
[pubdate] [datetime] NOT NULL,
[pub_name] [nvarchar](40) NULL,
[city] [nvarchar](20) NULL,
[state] [nchar](2) NULL,
[country] [nvarchar](30) NULL)



و در نهایت انتخاب و درج سطرهای حاصل از پیوند دو جدول


USE Pubs
GO

INSERT dbo.Temp
SELECT t.title_id,t.title,t.type,t.pub_id,t.price,t.advan ce,t.royalty
,t.ytd_sales,t.notes,t.pubdate,p.pub_name,p.city,p .state,p.country FROM dbo.publishers p
INNER JOIN dbo.titles t
ON p.pub_id = t.pub_id

ramin_280
یک شنبه 16 مهر 1391, 16:39 عصر
در مثال بالا تمام رکورد هایی که id یکسان در دو تیبل pو tدارند در Temp نشانداده میشوند. اگر بخاهیم تمام رکوردها با هر ID بدون شرطp.pub_id = t.pub_id در تیبل Temp نشان داده شوند. چکار باید بکنیم؟ یعنی دو تیبل t و p را باهم ادغام بکنیم با تمام دادها؟

Nima_kyan
سه شنبه 18 مهر 1391, 10:21 صبح
اگه جدول مقصد از قبل ساخته نشده این روش بهتر و ساده تره:

select * into Tbl_Temp from Tbl1 inner join Tbl2 on Tbl1.ID=Tbl2.ID