PDA

View Full Version : ایجاد ID هنگام سلکت



komeil64
پنج شنبه 02 خرداد 1392, 09:22 صبح
من یک فیلد ID دارم که اعدا مختلفی می تونه باشه
یک سلکت نوشتم که سه رکورد آخر یک جدول رو بیرون می کشه
غیر از فیلد هایی که هست می خوام یک فیلد برای این سه تا توی سلکت بهم بده که مقادیرش 1 و 2 و 3 باشه
ممنون میشم راهنمایی کنید

in_chand_nafar
پنج شنبه 02 خرداد 1392, 09:30 صبح
اگر منظورتون رديف است با استفاده از Row_Number مي توانيد اين كار را انجام دهيد

SELECT
ROW_NUMBER() OVER (ORDER BY ORDERID) AS ROW_NO,
ORDERID,CUSTOMERID,EMPLOYEEID
FROM ORDERS
GO

در اين لينك (http://www.nikamooz.com/%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86/sql-server-vs-net/sql-server-design/63-%D8%AD%D8%B0%D9%81-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C-%D8%A7%D8%B2-%DB%8C%DA%A9-%D8%AC%D8%AF%D9%88%D9%84.html)مي توانيد با اين تابع هم آشنا شويد (فيلم فارسي)

komeil64
پنج شنبه 02 خرداد 1392, 09:55 صبح
ممنون از راهنماییتون
این کد من

SELECT top(3) ROW_NUMBER() OVER (ORDER BY [ID]) AS ROW_NO , * FROM [tbl_News] ORDER BY [ID] DESC
مشکل اینه که الان میاد مثلا 15 تا رکورده به من 15 و 14 و 13 رو میده
من می خوام 1و2و3 رو بده که همون سه رکورد آخر میشن نه اول

fakhravari
پنج شنبه 02 خرداد 1392, 11:00 صبح
SELECT top(3) ROW_NUMBER() OVER (ORDER BY [ID]) AS ROW_NO , * FROM [tbl_News] ORDER BY [ROW_NO] DESC

محمد سلیم آبادی
شنبه 04 خرداد 1392, 21:22 عصر
ممنون از راهنماییتون
این کد من

SELECT top(3) ROW_NUMBER() OVER (ORDER BY [ID]) AS ROW_NO , * FROM [tbl_News] ORDER BY [ID] DESC
مشکل اینه که الان میاد مثلا 15 تا رکورده به من 15 و 14 و 13 رو میده
من می خوام 1و2و3 رو بده که همون سه رکورد آخر میشن نه اول

از Derived Table به صورت زیر استفاده کنید:
SELECT D.*,
ROW_NUMBER() OVER(ORDER BY [ID]) AS ROW_NO
FROM
(
SELECT TOP(3), *
FROM [tbl_News]
ORDER BY [ID] DESC
)D