نمایش نتایج 1 تا 10 از 10

نام تاپیک: جمع دو ستون در دو جدول join شده

  1. #1
    کاربر دائمی آواتار mohamadlvs
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    شیراز
    پست
    131

    جمع دو ستون در دو جدول join شده

    سلام برای جمع کردن این دو ستون باید چکار کرد؟ این رو نوشتم ولی ستون AllPrice درست جواب نمیده
    هر دو جدول با اتصالات و مقادیرشان را گذاشتم و همچنین نتیجه اجرا دستور
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار mohamadlvs
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    شیراز
    پست
    131

    نقل قول: جمع دو ستون در دو جدول join شده

    یه کم توضیح : دو تا جدول که دیاگرام اونا رو گذاشتم و داده های اونا رو هم همچنین، و این که من می خوام ستون های Allprice از جدول HeaderSale و Weight از جدول DeatilSale جداگانه هر کدام در یک ستون جمع بشوند؟ راه حل ؟
    پاسخ بدید دیگه.....

  3. #3

    نقل قول: جمع دو ستون در دو جدول join شده

    یکسری از مقادیر جداولتون نشون داده نشده. مشکل توی دستور JOIN شماست ، شما توی جدول Header یک سطر دارید که ممکنه توی Detail چند سطر به ازاش باشه وقتی Join اجرا میشه به ازا هر سطر در Detail یکبار مقدار AllPrice توی Sum شرکت میکنه. به مثال زیر توجه کنید
    Declare @HeaderSales Table (SaleID int, CustomerID int, SaleDate varchar(10), AllPrice int)
    Declare @DetailSales Table (SalesID int, ProductID int, Quantity int, Weight float)

    Insert Into @HeaderSales Values(2, 10, '1391/04/21', 1000)
    Insert Into @DetailSales Values(2, 26, 3, 5)
    Insert Into @DetailSales Values(2, 30, 1, 5)
    Insert Into @DetailSales Values(2, 30, 1, 10)

    Select * From @HeaderSales
    Select * From @DetailSales

    Select SUM(HS.AllPrice) Price, SUM(DS.Weight) Vazn
    From
    @HeaderSales HS INNER JOIN @DetailSales DS
    ON
    HS.SaleID = DS.SalesID

    در صورتیکه دقیقا بگید چه چیزی میخواید بهتر میشه کمکتون کرد.

  4. #4
    کاربر دائمی آواتار mohamadlvs
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    شیراز
    پست
    131

    نقل قول: جمع دو ستون در دو جدول join شده

    دقیقن مشکل من هم همینه، اون بقیه مقادیر صفر بودن واسه همین نمایششون ندارم . حالا واسه این که این دوتا ستون درست جمع بشن باید چکار کرد آیا باید از هر کدام از جداول جداگانه کوئری بگیرم؟ لطفن راهنمایی کنید

  5. #5

    نقل قول: جمع دو ستون در دو جدول join شده

    ;
    ;With DT_Temp as
    (
    Select SalesID, Sum(Weight) as Weight
    From @DetailSales
    Group By SalesID
    )
    Select SUM(HS.AllPrice) Price, SUM(DS.Weight) Vazn
    From
    @HeaderSales HS INNER JOIN DT_Temp DS
    ON
    HS.SaleID = DS.SalesID

  6. #6

    نقل قول: جمع دو ستون در دو جدول join شده

    کوئری مشکلی نداره من با همین داده ها مقدار 2000 رو برای price خروجی گرفتم. از اونجایی که ستون مشترک saleID هست توی عکس فقط سطرهایی که saleID 2 و 3 دارند در join هستند که احتمالا سطری که saleID برابر 3 هست چندبار اومده. تصویرداده های detailSales رو کامل بذارید.

  7. #7

    نقل قول: جمع دو ستون در دو جدول join شده

    سلام

    اگه شما مجموع ستون های allprice و weight رو برای هر نفر می خواین بدست بیارین, مجبورید که از group by استفاده کنید. کوئری زیر رو ببینید:


    SELECT detailsales.saleid, sum(detailsales.weight + headersales.allprice) AS a
    FROM detailsales INNER JOIN
    headersales ON detailsales.saleid = headersales.saleid
    GROUP BY detailsales.saleid


    موفق باشید

  8. #8
    کاربر دائمی آواتار mohamadlvs
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    شیراز
    پست
    131

    نقل قول: جمع دو ستون در دو جدول join شده

    گه شما مجموع ستون های allprice و weight رو برای هر نفر می خواین بدست بیارین, مجبورید که از group by استفاده کنید. کوئری زیر رو ببینید:
    من نمی خوام دو ستون رو با هم جمع کنم ، مقادیر هر ستون با خودش جمع می شود. به کار بردم این شد

    Reza_Yarahmadi
    جواب نداد شاید من اشتباه نوشتم؟

    کوئری مشکلی نداره من با همین داده ها مقدار 2000 رو برای price خروجی گرفتم. ...
    مقادیر را کامل قرار دادم

    تنها موردی که درست جواب میده استفاده از Union است . ولی این دستور باعث میشه مقادیر جواب زیر هم (سطری) بیافتد که چون می خوام مقایر رو در دیتا گرید نشان بدم خیلی ناجور میشه .
    عکس های ضمیمه عکس های ضمیمه

  9. #9
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: جمع دو ستون در دو جدول join شده

    Select (Select Sum(HeaderSales.AllPrice) from HeaderSales) As A , (Select Sum(DetailSales.Weight) from DetailSales) as B

  10. #10

    نقل قول: جمع دو ستون در دو جدول join شده

    خوب وقتی شما میای از join استفاده میکنی در نتیجه سطرهایی از دو جدول که saleID شون برابر باشه سلکت شده و مجموع ستونهای مورد نظر بدست بیاد. برای اینکه متوجه بشی مجموع برای چه سطرهایی انجام میشه از این کوئری استفاده کن تا متوجه بشی که لزومی نداره همه سطرها حضور داشته باشند
    SELECT   *
    FROM dbo.DetailSales INNER JOIN dbo.HeaderSales
    ON dbo.DetailSales.salesID = dbo.HeaderSales.saleID

    پس این کوئری برای حالت join هیچ مشکلی نداره(زمانی که برابر بودن saleID در دو جدول مطرح باشه join میکنیم)


    اگر به طور کلی مجموع دو ستون از دو جدول رو میخوای اصلا نیازی به join نیست. خیلی راحت این کار رو میتونی انجام بدی به این صورت
    select (select SUM(DetailSales.weight) as Vazn from DetailSales)
    ,(select SUM(HeaderSales.allPrice)as Price from HeaderSales)

تاپیک های مشابه

  1. سوال: ویرایش دو جدول Join شده
    نوشته شده توسط AhoO-sh در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: جمعه 03 مهر 1388, 17:16 عصر
  2. استفاده از dataadapter.update برای جدول join شده
    نوشته شده توسط xxxxxxxxxx در بخش C#‎‎
    پاسخ: 8
    آخرین پست: شنبه 31 شهریور 1386, 14:42 عصر
  3. آوردن داده ها از دو جدول join شده
    نوشته شده توسط adabyron در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 02 تیر 1386, 13:48 عصر
  4. پرکردن دیتاگرید با استفاده از 2 جدول Join شده
    نوشته شده توسط amir_hooty2001 در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 07 دی 1385, 18:21 عصر
  5. جمع دو ستون از دو جدول همسان با تعداد رکورد های متفاوت
    نوشته شده توسط rezaei manesh در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: شنبه 19 آذر 1384, 17:51 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •