PDA

View Full Version : نحوه استفاده از دستور insert-select



mehdi_9009
جمعه 21 اسفند 1388, 18:37 عصر
با سلام
3 تا جدول داریم جدول1 (اطلاعات شخصی) جدول 2 ( لیست دوره ها) جدول 3 ثبت نام شرکت کنندگان
حال اگه بخوایم از جوول 1 یک سری اطلاعات مثلا بر اساس مدرک تحصیلی در یک دوره خاصی شرکت کند به صورت گروهی ثبت نام کنیم و در جدول 3 بریزیم بطوری که برای هر فرد اطلاعات مربوط به دوره ثبت شود چطوری می تونم از دستورات insert select یا هر دستور دیگه این کارو انجام داد ممنون می شم اگه منو راهنمایی کنید

محمد سلیم آبادی
جمعه 21 اسفند 1388, 18:55 عصر
سلام،
ابتدا بایستی دو جدول مربوطه (اطلاعات شخصی و لیست دوره ها) در همدیگر ضرب (دکارتی) شوند و سپس لیست ستون های مورد نیاز را بعد از فیلتر کردن سطرها انتخاب کنین و در جدول سوم (شرکت کنندگان) درج کنید.
مثلا:


INSERT INTO Table_targer
SELECT t1.ID, t2.ID
FROM table_1 AS t1
CROSS JOIN table_2 AS t2
WHERE t1.UniversityDegree = 'Doctor' AND t2.term = 3

mehdi_9009
جمعه 21 اسفند 1388, 23:03 عصر
(اطلاعات شخصی و لیست دوره ها) در همدیگر ضرب (دکارتی) شوند می شه در این مورد ی خورده بیشتر توضیح بدین ممنون می شم اگه ی نمونه مثال با net. برام بزارین

محمد سلیم آبادی
یک شنبه 23 اسفند 1388, 00:55 صبح
(اطلاعات شخصی و لیست دوره ها) در همدیگر ضرب (دکارتی) شوند می شه در این مورد ی خورده بیشتر توضیح بدین ممنون می شم اگه ی نمونه مثال با net. برام بزارین

همین طور که خودتون توضیح دادین بایستی در جدول سوم کلید های خارجی دو جدول اول دوم یعنی اطلاعات شخصی و لیست دوره ها وجود داشته باشه. از طرفی می خواهین مساله یکسری دوره ها را برای یکسری افراد برگذار کنید که در این حال بایستی این دو جدول ضرب بشن بعد فیلتر روش صورت بگیره و در نهایت با دستور INSERT INTO SELECT در جدول سوم درج بشه.

توضیح مختصر ضرب دکارتی:
A = {a, b, c} --d
B = {1, 2} --d
A * B = {(a,1) , (b,1) , (c,1) , (a,2), (b,2) , (c,2) } --d

شما مجموعه ی A را جدولی تصور کنید که دارای یک ستون و سه سطر است ....

در مورد کد Dot Net در خواست خودتون رو باید در تالار مربوطه مطرح کنید.