m написание хранимой процедуры, в которой у меня есть 4 запроса на выборку
Я хочу, чтобы некоторые данные из первого запроса на выборку использовались в предложении where из остальных трех запросов.
SELECT TOP 100 * FROM dbo.[Order] WHERE (dbo.[Order].[CreatedOn]<(GetDate()-7)) AND ((@OrderId IS NULL)OR(dbo.[Order].[OrderId] BETWEEN (@OrderId) AND (@orderId+100))) ORDER BY dbo.[Order].[OrderId]
SELECT * FROM dbo.[OrderItem] WHERE dbo.[OrderItem].[OrderId] IN(SELECT TOP 100 dbo.[Order].[OrderId] FROM dbo.[Order] WHERE (dbo.[Order].[CreatedOn]<(GetDate()-7)) AND ((@OrderId IS NULL)OR(dbo.[Order].[OrderId] BETWEEN (@OrderId) AND (@orderId+100))))
SELECT dbo.OrderItemAddOn.* FROM dbo.OrderItemAddOn INNER JOIN dbo.MenuItemAddOn ON dbo.OrderItemAddOn.MenuItemAddOnId = dbo.MenuItemAddOn.MenuItemAddOnId
INNER JOIN dbo.MenuAddOn ON dbo.MenuItemAddOn.MenuAddOnId = dbo.MenuAddOn.MenuAddOnId
INNER JOIN dbo.OrderItem ON dbo.OrderItemAddOn.OrderItemId = dbo.OrderItem.OrderItemId
AND dbo.OrderItem.OrderId IN(SELECT TOP 100 dbo.[Order].[OrderId] FROM dbo.[Order] WHERE (dbo.[Order].[CreatedOn]<(GetDate()-7)) AND ((@OrderId IS NULL)OR(dbo.[Order].[OrderId] BETWEEN (@OrderId) AND (@orderId+100)))) ORDER BY dbo.OrderItemAddOn.OrderItemAddOnId, dbo.OrderItemAddOn.OrderItemId
SELECT DISTINCT * FROM dbo.OrderItemModifier INNER JOIN dbo.OrderItem ON dbo.OrderItemModifier.OrderItemId = dbo.OrderItem.OrderItemId
AND dbo.OrderItem.OrderId IN (SELECT TOP 100 dbo.[Order].[OrderId] FROM dbo.[Order] WHERE (dbo.[Order].[CreatedOn]<(GetDate()-7)) AND ((@OrderId IS NULL)OR(dbo.[Order].[OrderId] BETWEEN (@OrderId) AND (@orderId+100))))
LEFT OUTER JOIN dbo.MenuModifierGroup ON dbo.OrderItemModifier.MenuModifierGroupId = dbo.MenuModifierGroup.MenuModifierGroupId ORDER BY OrderItemModifier.OrderItemId
Есливы замечаете, что этот запрос
SELECT OrderId FROM dbo.[Order] WHERE (dbo.[Order].[CreatedOn]<(GetDate()-7)) AND ((@OrderId IS NULL)OR(dbo.[Order].[OrderId] BETWEEN (@OrderId) AND (@orderId+100))) ORDER BY dbo.[Order].[OrderId]
повторяется, так как я хочу, чтобы идентификаторы заказов были из этого запроса.вышеприведенные запросы, безусловно, неправильный подход. Я хочу создать псевдоним этого запроса и использовать один и тот же результат во всех моих запросах. Можете ли вы, ребята, помочь.
что мы можем сделать, это создать псевдоним этого запроса и использовать один и тот же результат во всех четырех запросах ... это тоже хорошее решение ... но как псевдонимы запросов в SP ..