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

نام تاپیک: select

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    select

    با سلام
    من مي خوام يه select بنويسم كه sum يه فيلدرو در دو بازه مختلف در ستونهاي مجزا بهم برگردونه
    ممنون ميشم راهنمايي كنيد

  2. #2
    کاربر دائمی آواتار کم حوصله
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    ایران - مشهد
    پست
    962

    نقل قول: select

    سلام
    یکم بیشتر توضیح بده یا حداقل یک مثال بزن که چی می خواهید

  3. #3

    نقل قول: select

    select sum(case when FLD<x1 and FLD>x2 then FLD else 0 end)as FLD1,
    sum(case when FLD<x3 and FLD>x4 then FLD else 0 end)as FLD2
    From TBL

    در دستورات case بیشتر مطالعه کنید . موفق باشید.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    من مشكلم با اين
    https://barnamenevis.org/showth...ght=sum&page=2
    حل ميشه اما syntax error داره !
    چه شكلي مي تونم حلش كنم؟

  5. #5

    نقل قول: select

    من مشكلم با اين
    https://barnamenevis.org/showth...ght=sum&page=2
    حل ميشه اما syntax error داره !
    چه شكلي مي تونم حلش كنم؟
    شرطهای where را در داخل متن به بعد از From منتقل کنید و پرانتز آخر باید بسته باشد و بعد از آن پرانتز آخر مثلا بنویسید TBL1 دیگر می توانید از آن استفاده کنید.
    اما فکر می کنم شما سووال خود را خیلی کلی طرح کرده اید چون اگر آنطور باشد که من فهمیده ام باید جواب قبلی مشکل شما را حل کرده باشد.
    به هر حال پیروز باشید.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    شرطهای where را در داخل متن به بعد از From منتقل کنید و پرانتز آخر باید بسته باشد و بعد از آن پرانتز آخر مثلا بنویسید TBL1 دیگر می توانید از آن استفاده کنید.
    سلام
    من با گفته هاي شما اين كدرو نوشتم اما پيغام هاي زيرو ميده
    Invalid column name 'dar_id'. و Invalid column name 'dar_price'.


    use db
    select sum(dar_id) as s1,sum(dar_price) as s2 from
    (
    select sum(dar_id) as s1,0 as s2 from orderr where (dar_date>='13870701' and dar_date<='13870731')
    union
    select 0 as s1,sum(dar_price) as s2 from orderr where (dar_date<'13870701')
    )
    orderr
    آخرین ویرایش به وسیله *unos* : سه شنبه 09 مهر 1387 در 11:24 صبح دلیل: syntax

  7. #7
    کاربر دائمی آواتار کم حوصله
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    ایران - مشهد
    پست
    962

    نقل قول: select

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

    use db
    select sum(s1) as s1,sum(s2) as s2 from
    (
    select sum(dar_id) as s1,0 as s2 from orderr where (dar_date>='13870701' and dar_date<='13870731')
    union
    select 0 as s1,sum(dar_price) as s2 from orderr where (dar_date<'13870701')
    )
    orderr

  8. #8
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    دست همه ي دوستان درد نكنه
    مشكلم حل شد

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    با سلام
    من هدفم از به دست آوردن مجموع یک فیلد در دو بازه مختلف این بود که بتونم یک همچین گزارشی بگیرم
    با استفاده از این این جدول ها



    اما با کمک دوستان و تلاش خودم نتونستم این گزارش رو درست کنم
    اگر دوستان کمک کنند ممنون میشم
    عکس های ضمیمه عکس های ضمیمه

  10. #10
    کاربر دائمی آواتار کم حوصله
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    ایران - مشهد
    پست
    962

    نقل قول: select

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

  11. #11
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    سلام
    عکس های ضمیمه عکس های ضمیمه

  12. #12
    کاربر دائمی آواتار کم حوصله
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    ایران - مشهد
    پست
    962

    نقل قول: select

    سلام
    اولا یک خرده گیری چرا نام فیلد کلیدت با نام کلید خارجی در جدول دیگر فرق داره؟؟

    دوما ببین اصلا من درست گرفتم

    Select O.Dar_Date, OD.Od_P_C, OD.Od_Name, Sum(Od_P_F) AS Od_P_F, E.Et_Price
    From Order_Details OD Inner Join Etebarat E ON OD.Od_P_C = E.Et_Id Inner Join Orderr O ON OD.Od_Id = O.Dar_Id
    Group By O.Dar_Date, OD.Od_P_C, OD.Od_Name, E.Et_Price
    Where O.Dar_Date = 'تاریخ درخواستی'

  13. #13
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    سلام
    اولا یک خرده گیری چرا نام فیلد کلیدت با نام کلید خارجی در جدول دیگر فرق داره؟؟
    دقت بيشتري مي كنم در نام گذاري
    دوما ببین اصلا من درست گرفتم
    Select O.Dar_Date, OD.Od_P_C, OD.Od_Name, Sum(Od_P_F) AS Od_P_F, E.Et_Price
    From Order_Details OD Inner Join Etebarat E ON OD.Od_P_C = E.Et_Id Inner Join Orderr O ON OD.Od_Id = O.Dar_Id
    Group By O.Dar_Date, OD.Od_P_C, OD.Od_Name, E.Et_Price
    Where O.Dar_Date = 'تاریخ درخواستی'
    تقريبا همينو مي خوام البته...

    SELECT Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, SUM(Order_Detial.Cd_P_F) AS curr_month
    FROM Order_Detial INNER JOIN
    Orderr ON Order_Detial.Od_P_C = Orderr.Dar_Id INNER JOIN
    Etebarat ON Order_Detial.Od_Id = Etebarat.Et_Id
    WHERE (Orderr.Dar_Date >= '13870701' AND Orderr.Dar_Date <= '13870730')
    GROUP BY Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, Orderr.Dar_Date
    تا اين قسمت رو خودم تونستم انجام بدم اما مشكل من اينه كه SUM(Order_Detial.Cd_P_F) رو در دو بازه مي خوام

    SUM(Order_Detial.Cd_P_F) AS last_months WHERE (Orderr.Dar_Date < '13870701'

    ممنون از اين كه براي رفع مشكلم وقت مي زاريد
    آخرین ویرایش به وسیله *unos* : پنج شنبه 11 مهر 1387 در 13:17 عصر دلیل: syntax

  14. #14
    کاربر دائمی آواتار کم حوصله
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    ایران - مشهد
    پست
    962

    نقل قول: select

    سلام
    تست کن ببین کدوم راضیت میکنه

    SELECT Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, Sum(curr_month) AS curr_month, Sum(Last_Month) As Last_Month
    From (
    SELECT Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, Order_Detial.Cd_P_F AS curr_month, 0 As Last_Month
    FROM Order_Detial INNER JOIN
    Orderr ON Order_Detial.Od_P_C = Orderr.Dar_Id INNER JOIN
    Etebarat ON Order_Detial.Od_Id = Etebarat.Et_Id
    WHERE (Orderr.Dar_Date >= '13870701' AND Orderr.Dar_Date <= '13870730')
    Union All
    SELECT Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, 0 As curr_month, Order_Detial.Cd_P_F AS Last_Month
    FROM Order_Detial INNER JOIN
    Orderr ON Order_Detial.Od_P_C = Orderr.Dar_Id INNER JOIN
    Etebarat ON Order_Detial.Od_Id = Etebarat.Et_Id
    WHERE (Orderr.Dar_Date < '13870701')) T
    GROUP BY Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, Orderr.Dar_Date



    SELECT Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price,
    Sum(Case When (Orderr.Dar_Date >= '13870701' AND Orderr.Dar_Date <= '13870730') Then Order_Detial.Cd_P_F Else 0 End ) AS curr_month,
    Sum(Case When (Orderr.Dar_Date < '13870701') Then Order_Detial.Cd_P_F Else 0 End ) As Last_Month
    FROM Order_Detial INNER JOIN
    Orderr ON Order_Detial.Od_P_C = Orderr.Dar_Id INNER JOIN
    Etebarat ON Order_Detial.Od_Id = Etebarat.Et_Id
    GROUP BY Order_Detial.Od_P_C, Order_Detial.Od_Name, Etebarat.Et_Price, Orderr.Dar_Date

  15. #15
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    بجنورد
    پست
    188

    نقل قول: select

    ممنون از كدتون
    دومي كارمو را انداخت اما اولي error nhaj داشت
    متن error رو بعدا مي زارم
    بازم ممنون.

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

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