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

نام تاپیک: یک کوئری بر روی دیتا بیس pubs

  1. #1
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    یک کوئری بر روی دیتا بیس pubs

    با سلام خدمت دوستان
    فکر کنم همه با دیتا بیس pubs آشنا هستند تو نوشتن query دچار مشکل شدم
    من میخوام بدونم نسبت فروش هر نوع کتاب در یک ماه خاص چه درصدی از فروش کل اون کتاب بوده؟

  2. #2

    نقل قول: یک کوئری بر روی دیتا بیس pubs

    فکر کنم همه با دیتا بیس pubs آشنا هستند تو نوشتن query دچار مشکل شدم
    فکر کنم یک نفر پیدا شده که آشنا نیست!!
    در صورت امکان اسکریتی از این دیتابیس و داده های اون قرار بدید تا بشه روش تست کرد.

  3. #3
    کاربر تازه وارد آواتار iman_Delphi
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    زیر پوست شهر
    پست
    89

    نقل قول: یک کوئری بر روی دیتا بیس pubs

    من ديتابيس pubs رو ندارم و امكانشم نبود download كنم اما دوست دارم كمكتون كنم

    شما اول يك كوئري بزنيي روي جدول فروش كل كتاب ها و sum كلش رو بگيرين (گروه بندي بشه بر حسب كد كتاب) سپس براي اين كوئري كه زدين يك كرسر بنويسين و برحسب هر كد كتاب يك سلكت بزنين كه توي اين سلكته بايد sum هر ماه يا ماه مورد نظر رو محاسبه كنيد و در يك return @Table ذخيره كنيد
    يك راه حل ساده تر هم هست اونم استفاده از sub Query هست
    كه اينجوريه : من ساختار pubs رو يادم نميادااااا اماا :

    SELECT Code, Sum(price),(select Sum(Price) FROM t2 where t1.code=t2.code and datefactor betwen 1.1.1 and 2012.01.12) from t1 group by......


    البته روش اول رو پيشنهاد مي كنم چرا كه احساس مي كنم در حال تكميل كردن و يادگيري هستين مثل من - ممنون

  4. #4
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    نقل قول: یک کوئری بر روی دیتا بیس pubs

    با تشکر از دوستانی که توجه کردن
    pubs یک دیتابیس آموزشی در SQL2000
    از اینجا دانلود کنید
    دوستان میخوام با کوئری به نتیجه برسم

  5. #5

    نقل قول: یک کوئری بر روی دیتا بیس pubs

    در صورت استفاده از SQL Server 2005 به بالا
    With AllSales as(
    Select
    Title_Id,
    Sum(qty) as TotalSales
    From
    dbo.Sales
    group by
    Title_Id)
    ,Sales2 as(
    Select
    Title_Id,
    qty,
    Cast(Year(ord_Date) as varchar) + '/' + Cast(Month(ord_Date) as varchar) as Months
    From
    dbo.Sales
    )
    Select
    S.Title_Id,
    Min(A.TotalSales) as TotalSales,
    Sum(S.qty) as SalesOnMonth,
    (Sum(S.qty) * 100 / Min(A.TotalSales)) as PercentSales,
    Months
    From
    Sales2 S inner join AllSales A
    On
    S.Title_Id = A.Title_Id
    Group By
    S.Title_Id, Months
    Order By
    S.Title_Id

    در صورت استفاده از SQL Server 2000 (در مورد توابع Month و Year نمیدونم 2000 پشتیبانی میکنه یا نه)
    Select 
    S.Title_Id,
    Min(A.TotalSales) as TotalSales,
    Sum(S.qty) as SalesOnMonth,
    (Sum(S.qty) * 100 / Min(A.TotalSales)) as PercentSales,
    Months
    From
    (Select
    Title_Id,
    qty,
    Cast(Year(ord_Date) as varchar) + '/' + Cast(Month(ord_Date) as varchar) as Months
    From
    dbo.Sales
    ) S
    INNER JOIN
    (Select
    Title_Id,
    Sum(qty) as TotalSales
    From
    dbo.Sales
    group by
    Title_Id) A
    On
    S.Title_Id = A.Title_Id
    Group By
    S.Title_Id, Months
    Order By
    S.Title_Id

  6. #6
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    نقل قول: یک کوئری بر روی دیتا بیس pubs

    رضا جان خیلی خیلی ممنون
    کوئری زبر میزان فروش هر کتاب در تاریخ 1994-09-13 به کل فروش اون کتاب رو می دهد

    select t.title_id,d,t,d*100/t
    --CAST(CAST(d/t AS decimal(38,4))AS real) AS حجم

    from
    (SELECT sum(qty) as D, titles.title_id
    FROM sales INNER JOIN
    titles ON sales.title_id = titles.title_id
    where (sales.ord_date BETWEEN CONVERT(DATETIME, '1994-09-13 00:00:00', 102) AND CONVERT(DATETIME, '1994-09-13 00:00:00', 102))
    GROUP BY titles.title_id
    ) as D
    right outer join
    (
    SELECT sum(qty) as T, titles.title_id

    FROM sales INNER JOIN
    titles ON sales.title_id = titles.title_id
    GROUP BY titles.title_id) as T
    on D.title_id=T.title_id

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

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