ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

استفاده از 2 دستور select در يك درخواست

 
Post new topic   Reply to topic    ParsX.com Forum Index -> اس . كيو . ال SQL
View previous topic :: View next topic  
Author Message
emsii
دوست آشناي سايت


Joined: 16 Dec 2005
Posts: 90
Location: tehran

PostPosted: Wed Apr 26, 2006 8:56 pm    Post subject: استفاده از 2 دستور select در يك درخواست Reply with quote

مي خواهم با يك دستور ركورد هايي كه شرط برابر دارند را خلاصه كرده بعد آنرا بادستور ديگري آماده نمايش كند

ُS_elect distinct  code,date,vazn f_rom tbl

با دستور بالا رديفهاي تكراري حذف شده و وزنهاي غير تكراري باقي ميماند

s_elect date,sum(vazn),count(*) f_rom tbl  group by date

با اين دستور جمع وزنهاي روزانه (بر اساس date) و تعداد آنها حساب شده

حالا چه طور مي توانم اين دو كار را با يك دستور انجام دهم
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Wed Apr 26, 2006 10:35 pm    Post subject: Reply with quote

بهترین راه استفاده IN هستش یا اگه نمی تونی از View استفاده کن بازم
Back to top
emsii
دوست آشناي سايت


Joined: 16 Dec 2005
Posts: 90
Location: tehran

PostPosted: Wed Sep 20, 2006 9:49 pm    Post subject: Reply with quote

sub query چه جوري كار ميكنه
وقتي شرط مطرح باشه با IN ميشه كار كرد ولي وقتي بخواي از يك سري اطلاعات خلاصه برداري كني نميشه

s_elect sum(s_elect sum(vazn1-vazn2)*price f_rom tbl group by price)

اول بايد وزن خريد وفروش هر مبلغ را از هم كم كنه بعد جمع كنه بعد كل مبالغ را با هم جمع كنه
اين يك مثال هست روش انجام sub Query مهمه نه حل اين
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Wed Sep 20, 2006 11:13 pm    Post subject: Reply with quote

نامردیه
هر دفعه سخت تر می پرسی
Back to top
emsii
دوست آشناي سايت


Joined: 16 Dec 2005
Posts: 90
Location: tehran

PostPosted: Thu Sep 21, 2006 8:00 am    Post subject: Reply with quote

ميخوام فرم راه بيفته
query قبلي اصلاح شد به صورت ريز

s_elect sum(s_elect (vazn1-sum(vazn2))*price f_rom tbl group by vasz1,price)

يك راهنمايي
اگر جدول ما يك جواب داشته باشه ميشه اون جواب رو در يك متغيير ريخت مثل

DECLARE @var1 nvarchar(30)
S.ELECT @var1 = 'Generic Name'

S.ELECT @var1 = CompanyName
F.ROM Customers
W.HERE CustomerID = 'ALFKA'

S.ELECT @var1 AS 'Company Name'

حالا ميخواهيم كل جواب جدول را داخل يك جدول تعريف شده در همان دستور مثل tbl@ بريزيم
بعد اطلاعات جديد را از جدول بدست آمده نمايش دهيم
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Thu Sep 21, 2006 11:39 am    Post subject: Reply with quote

خوب حالا فهمیدم
می خوایی از کرسر استفاده کنی
درسته ؟
این فایل رو نگاه کن:
فایل
این جزوه یکی از دوستان هستش
نگاه کن اگه مشکلی داشتی بگو بازم برات توضیح بدم


Last edited by arash on Sat Sep 23, 2006 12:16 am; edited 1 time in total
Back to top
emsii
دوست آشناي سايت


Joined: 16 Dec 2005
Posts: 90
Location: tehran

PostPosted: Fri Sep 22, 2006 5:38 pm    Post subject: Reply with quote

بابا اينكه يك پروژه vb كه خاليه
جزوه كجا بود خالي بند
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Fri Sep 22, 2006 11:21 pm    Post subject: Reply with quote

ببخشید حالا یه اشتباه لپی بود
فایل ها هم نام بود اینه که اشتباه شده
ببخشید
فایل
Back to top
emsii
دوست آشناي سايت


Joined: 16 Dec 2005
Posts: 90
Location: tehran

PostPosted: Sat Sep 23, 2006 7:16 am    Post subject: Reply with quote

منم همه فايلهام هم اسم خودم بودن اينجوري ميشد Smile
ممنون جزوه خوبي بود
اگر حل نشد خبرت ميكنم
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Sat Sep 23, 2006 12:30 pm    Post subject: Reply with quote

اینم عوض ...
دستم بشکنه ...
آقا یکم نمک داری بریزی رو این دست ما ...
Back to top
emsii
دوست آشناي سايت


Joined: 16 Dec 2005
Posts: 90
Location: tehran

PostPosted: Wed Sep 27, 2006 10:03 am    Post subject: Reply with quote

درسته كه با كرسر ميشه اين سوال را حل كرد ولي اين جواب سوال من نبود
من ميخوام با يك دستور چند بار از دستور selec.t استفاده كنم و در هر استفاده از نتايج دستور قبلي بهره بگيرم
كرسر براي اين كار نيست
اينم نمكش Smile
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> اس . كيو . ال SQL All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum