View Full Version : insert از یک جدول در جدول دیگر
ali_abbasi22145
دوشنبه 15 تیر 1394, 11:32 صبح
سلام
من در جدول اصلی cardtable یک فیلد employee_number برابر 100 و log_of_card_print برابر
; ; EXPD1394/04/15; PRND1394/06/15; T11:27:21; ; EXPD1394/03/22; PRND1394/04/15; T11:28:04
و جدول لاگ چاپ دیگر من LogPrintTable که شامل فیلدهای T زمان چاپ و PRND تاریخ چاپ و EXPD تاریخ اعتبار کارت می باشد
در جدول اصلی دو بار برای شخصی چاپ انجام دادیم و ممکن است 3 بار یا بیشتر انجام دهیم و ; ; به معنای چاپ دوم است حالا می خواهیم اطلاعات log_of_card_print از جدول اصلی به جدول لاگ چاپ مثل شکل زیر:
pezhvakco
دوشنبه 15 تیر 1394, 12:48 عصر
شرمنده = یه جوری توضیح نوشتید که هیچی نتونستم بدونم درباره روش کار و خواسته شما.
من در جدول اصلی cardtable یک فیلد employee_number برابر 100 و log_of_card_print برابر
; ; EXPD1394/04/15; PRND1394/06/15; T11:27:21; ; EXPD1394/03/22; PRND1394/04/15; T11:28:0
یعنی : جدول به نام CardTable دوتا ستون به نام های employee_number و log_of_card_print دارد که داده ستون employee_number شناسه چاپ و داده ستون log_of_card_print توضیح چاپ است
=> ساختار ستون log_of_card_print چی است (رشته ای به چه تعداد کاراکتر)
= چرا این جور بد ساخته اید .
در جدول اصلی دو بار برای شخصی چاپ انجام دادیم و ممکن است 3 بار یا بیشتر انجام دهیم و ; ; به معنای چاپ دوم است
1) همه تراکنش های انجام شده (چاپ برای یک شخص خاص) در یک ستون همان یک ردیف ذخیره میشه
2) اگه بیشتر از 2 بار چاپ بشه اون نشانه ;; چی می شود
3) این نشانه کجای رشته است (ابتدا یا آخر)
حالا می خواهیم اطلاعات log_of_card_print از جدول اصلی به جدول لاگ چاپ مثل شکل زیر:
با دونسته های من = شما باید ردیف های چدول را پیمایش (با حلقه) کنید و سپس با توجه به الگوریتم شناسه گذاری، داده ها رو بیرون بکشید و در جدول دیگر ذخیره کنید .
ببخشید =>
شاید :
*** هم توضیح نوشتن شما زیادی شلخته و نامفهوم است و هم جدول و داده گذاری اون ***
ali_abbasi22145
دوشنبه 15 تیر 1394, 14:13 عصر
سلام
یعنی : جدول به نام CardTable دوتا ستون به نام های employee_number و log_of_card_print دارد که داده ستون employee_number شناسه چاپ و داده ستون log_of_card_print توضیح چاپ است؟ بله
تمام فیلدهای همه جداول رشته ای از نوع NVarchar است
ابتدا متاسفانه این جوری به درخواست مشتری ساختم بعد عوض کردم جدول لاگ LogPrintTable مثل عکس بالا
;; ابتدا تراکنش هست و اگر 3 تا 4 تا تراکنش باشد 3 تا 4 تا ;; هست
pezhvakco
دوشنبه 15 تیر 1394, 16:22 عصر
ابتدا متاسفانه این جوری به درخواست مشتری ساختم بعد عوض کردم
سفارش دهنده نرم افزار می تونه درباره رابط کاربری، امکانات، درخواست یا نظر بده ولی به کدنویسی (اون هم ساختار پایگاه داده) هیچ دسترسی نباید داشته برسه .
;; ابتدا تراکنش هست و اگر 3 تا 4 تا تراکنش باشد 3 تا 4 تا ;; هست
پیشنهاد :
برنامه ردیف های جدول را پیمایش کند:
در هر ردیف داده درون ستون log_of_card_print را به داده های بین ;; بخش کند و در یک متغیر یا جدول دیگر بریزد
دوباره داده های این متغییر یا جدول تازه را پیمایش و به داده های بین ; بخش کند و سپس در جدول مورد نظر LogPrintTable بریزد.
برای راهنمایی این جا هم یه نگاه بزنید
stackoverflow.com/questions/697519/split-function-equivalent-in-t-sql
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.