PDA

View Full Version : سوال: مشکل در جمع یک فیلد (با استفاده از sum و group by)



hamid-nic
پنج شنبه 23 مهر 1388, 23:48 عصر
سلام و وقت بخیر دوستان
2 تا جدول داریم :
1- اطلاعات شخصی افراد شامل نام ، نام خانوادگی ، کد ملی و . . . (نام جدول MainINF)
2- اطلاعات مالی افراد شامل ردیف، کد ملی ، شماره فیش ، مبلغ ، تاریخ پرداخت ، توضیح (نام جدول MainFish)

با استفاده از یک کوئری این دو جدول را به هم ارتباط دادم (استفاده از فیلد کلیدی کد ملی)
هر شخص می تواند به تعداد نامحدود فیش بانکی در جدول دوم ثبت کند .
می خواهم با یک کوئری جمع پول های هر شخص را بدست آورم
فرض کنید فیلد های زیر را داریم

جدول اطـــــــلاعات شــــــــــخصی
احمد | احمدی | 5120000252 | اصفهان | کاردانی
علی | یاسری | 5142000025 | تهران | کارشناسی
امیر | محمودی | 5251002152 | تبریز | کاردانی

جدول اطلاعات مالی
1 | 5120000252 | 54215 | 250,000 | 07/07/1388 | پرداخت اول
2 | 5120000252 | 54269 | 350,000| 08/08/1388 | پرداخت دوم
3 | 5142000025 | 65200 | 450,000 | 05/05/1388 | پرداخت اول
4 | 5251002152 | 25125 | 120,000 | 04/04/1388 | پرداخت اول
5 | 5251002152 | 65125 | 150,000 | 07/07/1388 | پرداخت دوم

حاصل کوئری اجرا شده
5120000252 | احمد | احمدی | اصفهان | کاردانی | 600,000
5142000025 | علی | یاسری | تهران | کارشناسی | 450,000
5251002152 | امیر | محمودی | تبریز | کاردانی | 270,000

کوئری حاصل را چگونه بدست آورم ؟

p_ooya
جمعه 24 مهر 1388, 00:03 صبح
کدش خیلی ساده است. منتها اگه من عین کد رو بنویسم، شاید دو روز دیگه یادت بره (حکایت ماهی و ماهیگیری). در لینک زیر مسئله کاملاً مشابهی هست که دو جواب برای سوال شما ارائه داده. یه امتحان بکنید، اگه مشکلی بود بنده در خدمتم.

http://www.sql-tutorial.net/SQL-JOIN.asp

MOJTABAATEFEH
جمعه 24 مهر 1388, 01:19 صبح
دوست عزيز مي توني از اين دستور استفاده كني :








SELECT MainINF.CodeM, MainINF.fName,MainINF.lName,MainINF.city, SUM(MainFish.fi) AS total


FROM MainINF INNER JOIN


MainFish ON MainINF.CodeM = MainFish.CodeM

GROUP BY MainINF.CodeM, MainINF.fName,MainINF.lName,MainINF.city







موفق باشي

محمد سلیم آبادی
جمعه 24 مهر 1388, 12:20 عصر
سلام،

داخل یک expression table مثل derived table یا cte جمع پرداختها را حساب کنین (با کمک grouping کد ملی و sum) سپس این جدول را به جدول "اطلاعات شخصی" اتصال دهید.

اگر query مورد نظر را می خواهین نام ستون های دو جدول را پست کنین