Skip to content
Advertisement

Selecting the union part of an sql query

I have this query

SELECT
    L.Account,
    L.PaidOffDate
FROM 
    MARS.dbo.vw_Loans L
WHERE
    L.isActive = 'False'
    AND L.LoanStatus NOT LIKE '%REO%'
    AND L.LoanStatus <> 'Trailing Claims'
)
UNION
-- loan numbers for REO sold
(
SELECT
    L.Account,
    R.SoldDate
FROM 
    MARS.dbo.vw_REO R
LEFT JOIN 
    MARS.dbo.vw_Loans L ON L.ConvertedToPropertyID = R.PropertyID
WHERE
    R.Active = 0
    AND R.Status = 'Sold'
    AND L.isActive = 'False'
    AND L.LoanStatus LIKE '%REO%'
)

I put this as a common table expression, how do I select R.SoldDate in that case?

Specifically I am trying to run this

CASE 
   WHEN Inactives.PaidOffDate IS NOT NULL 
        AND Inactives.PaidOffDate BETWEEN DATEADD(MONTH, DATEDIFF(MONTH, 0, @reportingDate), -1) AND @reportingDate
      THEN Inactives.PaidOffDate 
      ELSE 
         CASE 
            WHEN Inactives.SoldDate IS NOT NULL 
                 AND Inactives.SoldDate BETWEEN DATEADD(MONTH, DATEDIFF(MONTH, 0, @reportingDate), -1) AND @reportingDate 
               THEN Inactives.SoldDate 
               ELSE ''
         END 
END AS [CHECKING PIF DATE]

But I cannot select Inactives.SoldDate

Advertisement

Answer

I think what you are after here is a computed column, something like this:

SELECT
    L.Account,
    L.PaidOffDate,
    'Payoff Date' AS Type
FROM MARS.dbo.vw_Loans L
WHERE
    L.isActive = 'False' AND
    L.LoanStatus NOT LIKE '%REO%' AND
    L.LoanStatus <> 'Trailing Claims'
UNION ALL
SELECT
    L.Account,
    R.SoldDate,
    'Sale Date'
FROM MARS.dbo.vw_REO R
LEFT JOIN MARS.dbo.vw_Loans L
    ON L.ConvertedToPropertyID = R.PropertyID
WHERE
    R.Active = 0 AND
    R.Status = 'Sold' AND
    L.isActive = 'False' AND
    L.LoanStatus LIKE '%REO%';

The computed column Type keeps track of the origin of each record, so that you will know this after the union has been peformed. Note that I switched to UNION ALL, assuming that you always wanted to retain all records.

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement