PDA

View Full Version : ضمیمه کردن چند دستور select و قرار دادن آن در دستور آپدیت یا Insert



Hossis
یک شنبه 16 آذر 1393, 19:08 عصر
با سلام
یکی از قابلیت های اسکیوال اینه که می تونید در آن از دستورات تو در تو استفاده کنید مثلا این طور
insert into table1 (title) values ((select Title from table2 where id=10)))
حالا تو همین مثال اگر خواسته باشم که از جدول دوم، فیلد های متعددی رو سر هم ضمیمه کنم مثلا (نام +فامیل+شهر) و در فیلد title از جدول یک اضافه کنم، چطور میشه این کار رو انجام داد؟

مرتضی تقدمی
دوشنبه 17 آذر 1393, 07:20 صبح
سلام
فكر مي كنم منظور شما اين باشه:


insert into table1 (title) values ((select top 1 name + space(1) + family + space(1) + father from table2 where id=10)))


تنها چيزي كه بايد دقت داشت اينه كه در اين روش خروجي select بايد با تعداد فيلدهاي insert برابر باشه و از يك رديف هم بيشتر نباشه.

روشهاي ديگه اي هم براي نوشتن insert وجود داره كه مثلا يكيش اينه:


insert into tbl1 select * from tbl2

يا:


select * into #temp from tbl1

موفق باشيد