ورود

View Full Version : سوال در نحوه نوشتن کویری تو در تو



r. salehi
چهارشنبه 15 شهریور 1391, 11:03 صبح
سلام به همه دوستان
من دوتا جدول دارم و کاری که میخوام انجام بدم اینه که اول جداولم را Group کنم و مقادیر عددی انها را sum کنم بعد روی دوتا جدول جدید حاصل به صورت مرتبط select انجام بدم. من این کار را با نوشتن دوتا کویری مستقل می تونم انجام بدم اما میخوام بدونم آیا راهی هست که این عملیات را بدون نوشتن view یا کویری مستقل، به صورت یکجا انجام داد؟
اگر دوستان در این خصوص کمک کنند سپاسگذار خواهم بود.

baktash.n81@gmail.com
چهارشنبه 15 شهریور 1391, 13:44 عصر
می تونید از With یا Table-Value function استفاده کنید

r. salehi
چهارشنبه 15 شهریور 1391, 20:46 عصر
می تونید از With یا Table-Value function استفاده کنید
سلام و ممنونم از پاسخگویی شما
میشه لطفا یک مثال بزنید؟
سپاسگذارم

baktash.n81@gmail.com
چهارشنبه 15 شهریور 1391, 21:15 عصر
من واستون کپی می کنم .... اما بهتره از Help خود SQL استفاده کنید ...

WITH Sales_CTE (SalesPersonID, NumberOfOrders)
AS
(
SELECT SalesPersonID, COUNT(*)
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
GROUP BY SalesPersonID
)



برای Table- value function هم




CREATE FUNCTION dbo.ufnGetInventoryStock(@ProductID int)
RETURNS int
AS
-- Returns the stock level for the product.
BEGIN
DECLARE @ret int;
SELECT @ret = SUM(p.Quantity)
FROM Production.ProductInventory p
WHERE p.ProductID = @ProductID
AND p.LocationID = '6';
IF (@ret IS NULL)
SET @ret = 0;
RETURN @ret;
END;



با اسم این تابع می تونید مثل یه جدول رفتار کنید ازش Select کنید یا با یه جدول دیگه Join کنید