با سلام خدمت دوستان
فکر کنم همه با دیتا بیس pubs آشنا هستند تو نوشتن query دچار مشکل شدم
من میخوام بدونم نسبت فروش هر نوع کتاب در یک ماه خاص چه درصدی از فروش کل اون کتاب بوده؟
با سلام خدمت دوستان
فکر کنم همه با دیتا بیس pubs آشنا هستند تو نوشتن query دچار مشکل شدم
من میخوام بدونم نسبت فروش هر نوع کتاب در یک ماه خاص چه درصدی از فروش کل اون کتاب بوده؟
فکر کنم یک نفر پیدا شده که آشنا نیست!!فکر کنم همه با دیتا بیس pubs آشنا هستند تو نوشتن query دچار مشکل شدم
در صورت امکان اسکریتی از این دیتابیس و داده های اون قرار بدید تا بشه روش تست کرد.
من ديتابيس 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......
البته روش اول رو پيشنهاد مي كنم چرا كه احساس مي كنم در حال تكميل كردن و يادگيري هستين مثل من - ممنون
با تشکر از دوستانی که توجه کردن
pubs یک دیتابیس آموزشی در SQL2000
از اینجا دانلود کنید
دوستان میخوام با کوئری به نتیجه برسم
در صورت استفاده از 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
رضا جان خیلی خیلی ممنون
کوئری زبر میزان فروش هر کتاب در تاریخ 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