View Full Version : سوال: اجتماع(نه اشتراک)2 یا 3 تیبل در یک تیبل یا کیوری
rashidianc
شنبه 20 آبان 1391, 12:21 عصر
با سلام قبلن در مورد اشتراک دو تا تیبل بصورت زیر کار کرده بودیم :
SELECT WW,CC,QQ FROM T2
UNION SELECT WW,CC,QQ FROM T3;
ولی الان مشکل من اینه که فیلدهای دو تا تیبل یا 3 تا .. را بصورت جداگانه در یک تیبل یا کیوری وارد کنم :
T1 WW,EE,RR
T2 WW,CC,MM
T3 TT,UU,OO
...
حال ممکنه بعضی از رکوردها وفیلدها مثل WW در 2 تیبل (از نظر نام فیلد) و رکوردهاش که بصورت کمبوباکسندهم نام ومشترک باشند .
ولی نتیجه ای که در کیوری مورد نظر می دهد به شکل زیر باشد :
WW,EE,RR,WW,CC,MM,TT,UU,OO
منظور من همان تابع اجتماع در ریاضیه که در کلاس راهنمایی هممون خوندیم .
ممنون میشم یکی کمک کنه .
یک نمونه ساده گذاشتم البته این نمونه همانطور که قبلن گفتم اشتراکه که بدردم نمیخوره .
Abbas Amiri
شنبه 20 آبان 1391, 19:54 عصر
سلام اتفاقا کوئری یونیون اجتماع رکوردها را نمایش میدهد و Inner Join اشتراک آنها را.
شما با توجه به اطلاعات جداول ضمیمه چه دیتایی را درخروجی کوئری میخواهید؟
rashidianc
یک شنبه 21 آبان 1391, 09:02 صبح
با سلام و عرض ادب .
بنده فایل ضمیمه را گذاشتم که زحمت بکشید 2 تا سوال داشتم :
1- اگر query2 را اجرا کنید جمع کالای وارده به نام لوله 63 جمعا" 8100 واحد میباشد .
در صورتیکه با اجرای query33 union همین کالا جمع واردش 7300 واحد است ! که البته 8100 درسته .
2- من یک کیوری تجمیعی میخام از اطلاعات 4 تا تیبل به ترتیبی که در فرم وارده وصادره ایجاد کردم مطابق فرمت زیر تمامیه اطلاعاتم وارد یک کیوری بشه وبعدن بتوانم از طریق همین کیوری گزارشات لازمه را بگیرم .
varedeid : varedeid-nodasty-date
varede : id-dataf-varedeid-idno-az-projhe2-namekala-megvarede-tozyh
saderedata : sadereid-nodasty-date
sadere : id-tahvilbe-sadereid-projhe-namekala-megsadere
ممنون میشم کمکم کنید .
rashidianc
یک شنبه 21 آبان 1391, 13:04 عصر
چی شد کسی نبود یه کمکی بکنه ؟
Abbas Amiri
یک شنبه 21 آبان 1391, 21:59 عصر
سلام
عبارت SQL کوئری مربوطه را به شکل زیر تغییر دهید:
SELECT namekala,vahed,date,kod,groh,0 AS sumofmegvarede, sumofmegsadere,projhe FROM Query1
UNION ALL SELECT namekala,vahed,date,kod,groh,sumofmegvarede, 0 AS sumofmegsadere,projhe2 FROM Query2;
rashidianc
دوشنبه 22 آبان 1391, 08:27 صبح
ممنون آقای Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri)
مشکل اولم را حل کردید . خاهشن در مورد سئوال دومم که یک کیوری بتونه 4 تا تیبل را در خودش اجتماع کنه یه فکری بکنید . بازم ممنون از کمکی که کردید .
Abbas Amiri
دوشنبه 22 آبان 1391, 13:11 عصر
در مورد سئوال دومم که یک کیوری بتونه 4 تا تیبل را در خودش اجتماع کنه یه فکری بکنید . بازم ممنون از کمکی که کردید .
سلام کد زیر را دریک کوئری قرارداده و ازآن استفاده کنید . شما در جدول صادرات ID نام کالا راگذاشته اید ودر واردات نام آن را ، بهتر بوداز یک روش درهردو استفاده میکردید
بااستفاده ازکدزیر و فیلترکردن گزارش بانام کالا میتوانید کاردکس کالاها ویا با نام اشخاص ، طرف حسابهای اجناسی را که ازانها وارد ویابه آنها صادرکرده اید راداشته باشید
SELECT varedeid.varedeid AS DocID, varedeid.nodasty, varede.id, varede.dataf AS sdate, varede.az AS Tahvil, varede.projhe2, varede.idno, namekala.namekala, varede.megvarede,0 AS megsadere, varede.tozyh
FROM (varedeid INNER JOIN varede ON varedeid.varedeid = varede.varedeid) INNER JOIN namekala ON varede.namekala = namekala.id
UNION ALL SELECT saderedata.sadereid AS DocID, saderedata.nodasty, sadere.id, saderedata.Date AS sdate, sadere.tahvilbe AS Tahvil, sadere.projhe, "" AS idno, sadere.namekala, 0 AS megvarede, sadere.megsadere, "" AS tozyh
FROM sadere INNER JOIN saderedata ON sadere.sadereid = saderedata.sadereid;
rashidianc
چهارشنبه 24 آبان 1391, 09:09 صبح
خیلی ممنون از لطف شما
ولی وقتی کیوری فوق را اجرا میکنم در پنجره Enter OParameter Value پیغام زیر داده میشه :
query33.namekala
نمیدونم مشکل چیه ؟
Abbas Amiri
چهارشنبه 24 آبان 1391, 18:29 عصر
سلام
مطمئن هستید کدهای پست شماره 7 رو کپی کردید؟ بذون مشکل اجرا میشه.
در صورت وجود مشکل مجددا فایل را با کوئری آپلود کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.