ورود

View Full Version : مشکل در ادغام کردن دو پرس و جو



araz_pashazadeh
چهارشنبه 11 اردیبهشت 1392, 18:06 عصر
با عرض سلام و خسته نباشید خدمت شما.
من دوتا پرسو جو به شکل زیر نوشتم ولی نمی دونم چطوری میشه با هم ادغام کرد؟
WITH CTE AS (SELECT DISTINCT
TB_Palette.ColumnId, TB_Hall.Capacity / (TB_Hall.TheNumberOfHorizontalColumns * TB_Hall.TheNumberOfVerticalColumns)
AS TotalReserveSpace
FROM TB_Palette INNER JOIN
TB_Hall ON TB_Palette.HallId = TB_Hall.ID
WHERE (TB_Palette.ReserveOrDelivery = 1) AND (TB_Palette.ReserveSpaceId = @ReserveSpaceId))
SELECT ISNULL(SUM(TotalReserveSpace), 0) AS TotalReserveSpace
FROM CTE;


WITH CTE AS (SELECT DISTINCT
TB_Palette.ColumnId, TB_Hall.Capacity / (TB_Hall.TheNumberOfHorizontalColumns * TB_Hall.TheNumberOfVerticalColumns)
AS TotalReserveSpaceInTheHall
FROM TB_Palette INNER JOIN
TB_Hall ON TB_Palette.HallId = TB_Hall.ID
WHERE (TB_Palette.ReserveOrDelivery = 1) AND (TB_Palette.ReserveSpaceId = @ReserveSpaceId)AND (TB_Hall.ID = @HallId))
SELECT ISNULL(SUM(TotalReserveSpaceInTheHall), 0) AS TotalReserveSpaceInTheHall
FROM CTE

محمد سلیم آبادی
پنج شنبه 12 اردیبهشت 1392, 16:50 عصر
بنظر می رسه که کامل با syntax دستور CTE آشنا نیستید.
شما میتوانید با یک WITH چند عبارت جدولی تعریف کنید مثل کد زیر
;WITH
CTE1 AS (SELECT ... ),
CTE2 AS (SELECT ....),
CTE3 AS (SELECT ....)
SELECT ...
FROM CTE1
JOIN CTE2
ON...
....