PDA

View Full Version : در مورد استخراج اطلاعات از SQL



rz_rahgozar
چهارشنبه 20 اردیبهشت 1385, 10:40 صبح
سلام دوستان

یه سوال دارم در مورد برنامه sql که چگونه می توانیم رکوردهای خاصی را استخراج کنیم

مثلا رکورد 10 تا 20 .با TOP کار کردم نشد .

white fox
چهارشنبه 20 اردیبهشت 1385, 13:52 عصر
اول اینکه اینجا بخش Asp.NET هست نه SQL.دوم اینکه
راه های مختلفی داره...یه راهش این هست که به جدولتون حالا چه دائم چه از روش هایی مثل Table Variable یک ستون Identity اضافه کنید اون وقت با یک SP خیلی راحت با یه جمع و تفریق میتونید رکوردهایی که میخواید استفاده کنید...جمع و تفریق هم نخوایند از Between متونید استفاده کنید...
=================
از این به بعد هر سوال رو در بخش مربوطش بپرسید.

rz_rahgozar
چهارشنبه 20 اردیبهشت 1385, 22:01 عصر
اگر تیبل شامل یک فیلد منحصر به فرد نبود چی کار باید کرد

white fox
چهارشنبه 20 اردیبهشت 1385, 22:27 عصر
گفتم با Table Variable یا جداول موقتی شما این فیلد رو بهش اضافه کنید

manager
چهارشنبه 20 اردیبهشت 1385, 22:51 عصر
مثال :



CREATE PROCEDURE GetProducts
(@startIndex INT,
@length INT)
AS
DECLARE @Products TABLE
(RowNumber INT,
ProductID INT,
Name VARCHAR(50),
Description VARCHAR(5000))

INSERT INTO @Products
SELECT ROW_NUMBER() OVER (ORDER BY Product.ProductID),
Product.ProductID, Name,
Description
FROM Product

SELECT @HowManyProducts = COUNT(ProductID) FROM @Products

SELECT ProductID, Name, Description
FROM @Products
WHERE RowNumber >= @startIndex
AND RowNumber < @startIndex+@length

shahroozj
شنبه 23 اردیبهشت 1385, 08:47 صبح
این کار به راحتی و به کمک یک دستور ساده امکان پذیر نیست ( البته در SQL 2000 - در 2005 میشه)
باید رکوردهایی را که میخواهید را در یک جدول موقتی بریزید