View Full Version : Select از دو جدول و رختن در یک DataSet ؟
hamid1988
شنبه 28 شهریور 1388, 17:44 عصر
با سلام...
در دیتابیس جدولی با عنوان "گروه مقالات" و جدول دیگری با عنوان "مقالات" دارم، میخام همراه با Select از جدول "گروه مقالات" تعداد مقالات هر گروه رو هم Select کنم و هر دو را در یک DataSet بریزم...
در واقع ترکیب دو Select زیر:
1.Select * from Category
2.Select Count(*) From Articles Where CategoryID=@CategoryID
لطفاَ راهنمایی کنید!
محمد سلیم آبادی
شنبه 28 شهریور 1388, 18:27 عصر
اینم راهنمایی:
SELECT C.*,
[Count]=ISNULL(D.s,0)
FROM
(
SELECT CategoryID,
[s]=COUNT(*)
FROM Articles
GROUP BY CategoryID
)D
RIGHT JOIN Category C
ON C.CategoryID=D.CategoryID
hamid1988
شنبه 28 شهریور 1388, 21:59 عصر
دوست عزیز لطفاَ کمی توضیح دهید!
محمد سلیم آبادی
شنبه 28 شهریور 1388, 23:16 عصر
اشکالی ندارد،
در صورتی می توانم به شما توضیح بدهم که با مفاهیم زیر فراتر از تعریف آشنا باشید:
Derived Table
Semi Join
Isnull , Null
Grouping
Aggregation Function
ولی به طور مختصر این کار را انجام داده ام: ابتدا تعداد تمام مقاله ی هر گروه (category) را بدست آورم (که در جدول Article وجود داشته اند) سپس با جدول گروه ها (Category) جوین join کردم.
چون ممکن است بعضی از گروهها هیچ مقاله ای نداشته باشند از semi join استفاده کردم. و برای اینکه مقادیر null مستقیم null نشان داده نشوند از تابع isnull استفاده کردم .
ASKaffash
سه شنبه 31 شهریور 1388, 08:55 صبح
سلام
این موضوع را باید درون DotNet انجام دهید و دو جدول را به دو DataTable انتقال دهید و از DataRelation درون DataSet استفاده کنید
hamid1988
جمعه 10 مهر 1388, 17:19 عصر
این موضوع را باید درون DotNet انجام دهید و دو جدول را به دو DataTable انتقال دهید و از DataRelation درون DataSet استفاده کنید
لطفاَ کمی توضیح دهید!
مرسی
ASKaffash
شنبه 11 مهر 1388, 12:59 عصر
سلام
بیشتر بحث مربوط به تالار ADo.net است
اول این کد را امتحان کنید :
Select *,n=(Select Count(*) From Articles Where CategoryID=Category.CategoryID) from Category
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.