PDA

View Full Version : ستون ردیف برای هر گروه در 2005



rezaei manesh
یک شنبه 19 فروردین 1386, 08:52 صبح
سلام
من یه جدول دارم که دارای یه رکورد از نوع auto number داره و یه شماره پرسنلی که می تونه تکراری هم باشه
حالا من می خوام یه سلکت داشته باشم که به ازای هر شمار پرسنل یه ردیف داشته باشه یعنی گروپ بشه و ردیف برای هر گرو از 1 شروع بشه
اگه بشه نمی خوام از گروپ استفاده بکنم چون تعداد فیلد های برگشتی زیاد هست و ...
این کد شماره ردیف رو می ده اما کلی:


SELECT row_number() OVER (ORDER BY PersonId) AS Rank, TahsilId, PersonId, BEGINDATE, ENDDATE'[Ather Fields]'
FROM dbo.TAHSIL

ghabil
یک شنبه 19 فروردین 1386, 10:32 صبح
اونوقتی وقتی تو تا رکورد داری که شماره پرسنلیشون یکیه اما Rankشون فرق داره ، میخوای کدومشون بیاد ؟!

اما اصولا چیزی که فکر میکنم بدردت میخوره Select Distinct هست.

AminSobati
یک شنبه 19 فروردین 1386, 13:12 عصر
چرا از dense_rank یا partition by استفاده نمیکنین؟

rezaei manesh
دوشنبه 20 فروردین 1386, 08:11 صبح
با تشکر از توجه شما دوستان
از dense_rank هم استفاده کرده بودم اما همه رو 1 می ده !

در مورد partition by هم نتونستم چیزی پیدا کنم اگه می شه یکمی بیشتر توضیح بدید
من نمی خوام اطلاعات تکراری حذف شه که از distinct استفاده کنم من می خوام ستون ردیف اضافه کنم که برای هر شماره پرسنل از 1 شروع بشه...

AminSobati
دوشنبه 20 فروردین 1386, 11:28 صبح
use northwind
go
select row_number() over(partition by country order by country),country from customers

rezaei manesh
سه شنبه 21 فروردین 1386, 07:54 صبح
بسیار عالی جناب ثباتی دقیقا همان چیزی هست که من می خواستم اما یه مشکلی وجود داره هنوز این کد تو sql کار می کنه اما وقتی می خوام در هنگام اتصال جدول به بانک در دیتاست از اون استفاده کنم خطا می ده می گه Suportنمی کنه ..
البته می شه تو پروسیجر بزارم و اونو بخونم و... اما من می خوام جدولم به بانک وصل باشه ...

AminSobati
سه شنبه 21 فروردین 1386, 09:55 صبح
این Query رو فقط SQL Server میتونه اجرا کنه، سمت کلاینت نمیشه

rezaei manesh
سه شنبه 21 فروردین 1386, 10:16 صبح
اگه اینطور باشه در این قسمت از برنامه نمی تونم از این روش استفاده کنم .
برای کارای تحت وب خوبه چون خرروجی ها رو از پروسیجر می گیرم و..
بسیار خوب منون جناب ثباتی عزیز