PDA

View Full Version : نحوه اضافه كردن فيلد شمارشي



mgh64120
پنج شنبه 23 مهر 1388, 00:10 صبح
خسته نباشيد دوستان
من يه جدول دارم ميخوام با استفاده از يه View يه فيلد شمارشي كه از عدد يك شروع شده براي اولين ركورد و تا عدد N براي N اُمين ركورد



Table View
---------------- --------
Ali 1 Ali
Hasan 2 Hsasn
Mostafa 3 Mostafa

محمد سلیم آبادی
پنج شنبه 23 مهر 1388, 00:38 صبح
روش اول:


Select *, RowID=Row_Number() Over (Order By Col1)
From Your_Table
Order By Col1


روش دوم:


Select *, RowID=(Select Count(*) From Your_Table t1 Where t1.PK<=t2.PK
From Your_Table AS t2
Order By t2.PK


روش سوم:


Select *, Identity(1,1)
Into New_Table
From Your_Table

mgh64120
جمعه 24 مهر 1388, 01:33 صبح
دوست عزيز جناب Msalim
ميشه كد زير رو توضيح بدين
آخه من مبتدي هستم و از اون هيچي سر در نياوردم
ولي تونستم اون و اجرا كنم و نتيجه ام را بدست بيارم
ممنون



select (select count(*) from TableName where (PrimaryKey <= c.PrimaryKey)) as RowNum, *
from TableName c
order by PrimaryKey

محمد سلیم آبادی
جمعه 24 مهر 1388, 12:20 عصر
ما با کمک subquery و count به روش زیر عمل کردیم:

یعنی برای هر سطری ما یکبار subquery مذکور را اجرا می کنیم و با کمک count و where که داریم تعداد سطرهایی که مقدار ID آنها کوچکتر یا مساوی با ID سطر کنونی هستند محاسبه می شود...

فرض کنین ID برابر با 5 باشد و در جدول ما 3 ID دیگری داریم که مقادیر کمتری از از 5 دارند (مثلا 1و3و4) در نتیجه با کمک subquery و شرط کوچکتر و مساوی بودن با 5 ، تابع count عدد 4 را بر می گرداند...

فکر نکنم تونسته باشم خوب توضیح بدم