PDA

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



khoshblagh
یک شنبه 15 دی 1392, 09:37 صبح
با سلام خدمت دوستان
میخواهم از طریق یک کوئری داده هایی را به جدول دیگر منتقل نمایم. تا اینجای کار مشکلی نیست. ولی تصور نمائید علاوه بر داده های موجود یک فیلدی مجازی که داده ای را در آن به طور پیش فرض در آن تعریف شده است را به این کوئری اضافه نمائیم چیزی مثل calcuet field . چگونه آنرا در کوئری معرفی و مقدار مورد نظر را به آن ست نمایم؟ متشکرم

hadisalahi2
یک شنبه 15 دی 1392, 09:51 صبح
یعنی میخوای اطلاعاتی رو داخل فیلدی بریزی که در جدول مقصد وجود نداره؟
یا اینکه یک فیلد که در جدول مبدا وجود نداره ، اما میخوای مقدار اون رو خودت ست کنی تا در جدول مقصد ریخته بشه؟

یوسف زالی
یک شنبه 15 دی 1392, 12:32 عصر
سلام.
در نظر دارم آموزش مفصلی راجع به کار با دی بی اس کیو ال و ADO بگذارم ولی متاسفانه به دلیل نداشتن لپ تاپ به تعویق می افته.
اما اجالتا:

فیلدهای شما اگر از نوع داده نباشند، مثلا Calculated یا Lookup باشند، با انتقال به جدول تبدیل به فیلدهای داده ای خواهند شد. بنابراین به جای این کار درست تر اینه که فیلدهایی که نوع آنها داده هست رو منتقل کنید، فیلدهایی رو که داده ای نیستند در ADO مربوطه بسازید و اگر Calculated هستند در رویداد OnCalc مربوطه اونها رو مقدار دهی کنید.
برای مثال می تونم شماره ردیف رو بگم که فیلدی Calculated هست (معمولا) این فیلد رو نباید در انتقال منتقلش کنید، بلکه باید در مقصد در هنگام نمایش اون رو ایجاد کرده و مقدار دهی کنید.
اگر این انتقال بین دو دیتاست داره انجام می شه می تونید از کلون کردن هم استفاده کنید به این ترتیب تمام فیلد های داده ای شما (از روی رکوردست مرتبط) به دیتاست جدید منتقل خواهند شد.

امیدوارم منظورتون رو درست گرفته باشم.

khoshblagh
یک شنبه 15 دی 1392, 16:23 عصر
یعنی میخوای اطلاعاتی رو داخل فیلدی بریزی که در جدول مقصد وجود نداره؟
یا اینکه یک فیلد که در جدول مبدا وجود نداره ، اما میخوای مقدار اون رو خودت ست کنی تا در جدول مقصد ریخته بشه؟
با سلام در حقیقت نوع دوم که شما فرمودید.

ATULICUS
دوشنبه 16 دی 1392, 00:22 صبح
در نظر دارم آموزش مفصلی راجع به کار با دی بی اس کیو ال و ADO بگذارم ...

یوسف جان ، این کار چند تا حسن داره :

* تا حالا در هیچ مجموعه آموزشی (قرار بود تو فصل دوم آموزش های آقا شاهین باشه ، اما مثل اینکه منتفی شده) تو این زمینه بحث نشده
* حجم عظیمی از سوالات (چه کنم ؟ __ کمک کنید ؟ __ گیر کردم ؟ و ...) رفع میشه
* مدیرا هم به خاطر اینکه دیتابیس "برنامه نویس" رو از مورد های بالایی نجات دادی ، دعات میکنن
* ما هم که طبق معمول دعاگو هستیم !!!



پی نوشت : ما همگی دعا میکنیم شما زودتر لپ تاپ بگیرید


________
موفق باشید

hadisalahi2
دوشنبه 16 دی 1392, 10:25 صبح
با سلام در حقیقت نوع دوم که شما فرمودید.


این روش خیلی ساده هستش
فقط کافیه در دستور Select به جای نام فیلد عبارت محاسباتی رو انجام بدی



Insert Into Table1 P1,P2,P3
Select X1,X2,X1*X2


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

starting
چهارشنبه 02 بهمن 1392, 13:29 عصر
همانطوری که در پست قبل از این پست بیان شد. شما در زبان SQL مجاز هستید در زمان اجرای کوئری از عبارات scalar به عنوان فیلد استفاده کنید. این عبارات از یک مقدار رشته ای ثابت میتونه باشه تا عبارات پیچیده محاسباتی که از توابع، سایر فیلدها و ... تشکیل شده باشه.