View Full Version : سوال در مودد یک کوئری؟
uness12
شنبه 02 خرداد 1394, 22:59 عصر
سلام دوستان چطوری میتونم نام کالا های فروخته شده رو به ترتیب تعداد فروخته شده هر کالا به دست بیارم؟ اگه لطف کنین در قالب همون جداول معروف p و sp جواب بدین ممنون میشم
uness12
یک شنبه 03 خرداد 1394, 08:58 صبح
کسی نبود راهنمایی کنه؟؟؟
uness12
یک شنبه 03 خرداد 1394, 09:01 صبح
سوال رو این جوری تصحیح میکنم میخوام نام پر فروش ترین محصولات به ترتیب نزولی مرتب بشه؟؟
golbafan
یک شنبه 03 خرداد 1394, 09:09 صبح
فرض کن دیتابیسی داری که هر کالایی که فروش میره یک رکورد توی اون جدول وارد بشه شامل:
کالا/ تعداد / و غیره
table1.goods
table1.counts
table1.other
select * from
(
select goods,sum(counts) as sc from table1
group by goods
) as sorttable
order by sc desc
pezhvakco
یک شنبه 03 خرداد 1394, 09:32 صبح
کسی نبود راهنمایی کنه؟؟؟
اگه بشه پرسش هوش ننویسی خیلی به سود خودتون میشن
=>برای شروع ساختار جدول ها رو بنویسید
جناب "Golbafan" کار جالبی انجام دادیند که از خودتون جدول ساختیند
نیاز به دو تا کوئری تو در تو نیست
Select goods ,sum(counts) as Expr1
From table1
Group by goods
Order by sum(counts) Desc
golbafan
یک شنبه 03 خرداد 1394, 09:56 صبح
جناب "Golbafan" کار جالبی انجام دادیند که از خودتون جدول ساختیند
نیاز به دو تا کوئری تو در تو نیست
علت ساختن جدول این بود که اصول بهینه سازی sql رو رعایت کرده باشم
چرا که بدون این کار عمل sum(counts) دو مرتبه اجرا میشه
شما مبحث پرفورمنس رو ببینید در اون توضیح داده شده
uness12
یک شنبه 03 خرداد 1394, 10:07 صبح
ببینید جداول من تشکیل شده از
1: جدول product که حاوی اطلاعات محصولات میباشد مانند نام محصول و...
2: جدول sell_factor که حاوی فاکتور فروش کالا هاست (فیلد ها : id_factror , id_product , tedad, total)
کد دوست عزیرمون "pezhvakco (http://barnamenevis.org/member.php?59994-pezhvakco)" رو قبلا تست کردم
select id_p , SUM(total)as st from sell_factor
group by id_p
order by st desc
اما با این کوئری فقط میتونم id ی کالا و مقدار کل فروخته شده از کالا رو برگردونم اما به نام و مثلا نوع کالا که در جدول product است هم نیاز دارم که نمیدونم چطوری بدست بیارمشون. اگه راهنمایی کنید ممنون میشم.
uness12
یک شنبه 03 خرداد 1394, 10:34 صبح
دوستان خواهش میکنم ؟؟؟
golbafan
یک شنبه 03 خرداد 1394, 10:37 صبح
ببینید جداول من تشکیل شده از
1: جدول product که حاوی اطلاعات محصولات میباشد مانند نام محصول و...
2: جدول sell_factor که حاوی فاکتور فروش کالا هاست (فیلد ها : id_factror , id_product , tedad, total)
اما با این کوئری فقط میتونم id ی کالا و مقدار کل فروخته شده از کالا رو برگردونم اما به نام و مثلا نوع کالا که در جدول product است هم نیاز دارم که نمیدونم چطوری بدست بیارمشون. اگه راهنمایی کنید ممنون میشم.
باید از join استفاده کنید:
select * from
(
select
sell_factor.id_p,
SUM(sell_factor.total) as st,
product.name_p
from
sell_factor
INNER JOIN
product ON sell_factor.id_p = product.Id
group by
sell_factor.id_p,
product.name_p
) as sorttable
order by st desc
uness12
یک شنبه 03 خرداد 1394, 10:45 صبح
سلام واقعا ممنون جواب داد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.