PDA

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



mohammad2407
دوشنبه 14 بهمن 1392, 22:19 عصر
سلام دوستان عزیز من یک بانک اطلاعاتی(دیتا بیس) دارم به نام MOHAMMAD داخل این دیتا بیس دو تا تیبل هست اسم یکی ANBAR هست و اسم یکی دیگه SH هست

تیبل ANBAR دارای 10 فیلد هست

تیبل SH دارای 4 فیلد



حالا میخوام محتوای یکی از فیلد های تیبل SH که حدود 569000 رکورد هست ببرم داخل یکی از فیلد های تیبل ANBAR

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

ژیار رحیمی
سه شنبه 15 بهمن 1392, 01:59 صبح
سلام اگر رکوردهای جدول انبار بزرگتر یا مساوی رکورد های جدول Sh باشه بایه حلقه for توکد نویسی میتونی انجامش بدی.اگر جدول انبار فاقد رکورد باشه باید به تعداد 569000 رکورد بهش اضافه کنی بعد اون فیلد خاصی که مد نظر هست رو بهش اضافه کن.
یه راه دیگه اینه که وقتی دوتا جدول از نظر تعداد فیلد و نوع فیلدها یکسانن میتونی بطور مستقیم روکورد های یکی از جداوب انتخاب و کپی کنی تو جدول دیگه.پس برا سهولت ابتدا فیلدهای جدول انبارو مشابه فیلد های جدول SH تعریف وذخیره من بعد تمام دیتای جدول SHرو تو جدول انبار کپی کن وبعد اون جدول انبارو درمد دیزاین بازکن فیلدهای اضافی رو حذف کن و فیلدهای جدیدی که لازمه بهش اضافه کن.

mohammad2407
سه شنبه 15 بهمن 1392, 12:52 عصر
نه دو تا جدول از نظر فیلد و نام فیلد یکسان نیستن.

میشه بگین چطوری باید 569000 رکورد کپی کنم داخل اون تیبل

میشه یک آموزش قرار بدید که من بتونم این 569000 رکورد ببرم داخل اون تیبل

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

mohammad2407
سه شنبه 15 بهمن 1392, 18:55 عصر
دوستان میشه راهنمایی کنید

حمیدرضاصادقیان
سه شنبه 15 بهمن 1392, 22:27 عصر
سلام.
نیازی به این کارهای عجیب غریب نیست.
اگر جدول دوم رکورد داره
فقط باید دو فیلد نوعشون یکی باشه
اگر نباشه به مشکل برخواهید خورد. با یک Update کل محتویات رو میشه جابجا کرد( به شرطی که تعداد ردیفها یکی باشند در غیر اینصورت کار سخت میشه.)
پیشنهاد میکنم اگر با SQL Server کار نکردین اینکارو نکنید و بذارید کسی که کار کرده انجام بده که اطلاعاتتون از بین نره.

mohammad2407
چهارشنبه 16 بهمن 1392, 00:15 صبح
اره اقای صادقیان عزیز نوع فیلد یکی هست

میشه کد انتقال برام قرار بدید و یا اینکه یک آموزش برام قرار بدید

حمیدرضاصادقیان
چهارشنبه 16 بهمن 1392, 07:09 صبح
خوب اگر نوع فیلد یکی هست و تعداد رکورد دوجدول نیز یکی هست باید یک فیلدی هم باشه که از طریق اون بشه بین دو جدول ارتباط برقرار کرد و رکوردهای متناظر اونو یکی کرد.چون وقتی دو جدولی باهم ارتباطی ندارند بروز کردن فیلدهای آنها تقریبا بی معنی است

M aJi D
جمعه 25 بهمن 1392, 20:27 عصر
اره اقای صادقیان عزیز نوع فیلد یکی هست

میشه کد انتقال برام قرار بدید و یا اینکه یک آموزش برام قرار بدید

با سلام

ببینید اگر جدول دوم خالی هست و می خواهید با مقادیر جدول دوم پر شه :

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

توجه داشته باشید که اگر جداول تعداد ستونهای یکسان ندارند باید به ازای جدولی که قراره پر شه توی select مقدار بزارید مثلا null یا '' و حتما به ترتیبی که توی جدول مقصد هستند باشند.

اما اگر توی جدول دوم (مقصد) مقادیر دارید و ستونی داره که با ستونی توی جدول اول وجود داره مثلا کلید خارجی چیزی مثلا توی جدول اول فیلد آی دی داری و توی جدول دوم هم فیلدی داری با هر نامی که مقادیر آی دی جدول اول توشه باید یه آپدیت بنویسی

UPDATE Table1
SET Table1.Column = A.Column
FROM(SELECT Column,Id FROM Table2) As A
WHERE Table1.Id=Table2.Id