Select statement query
am 29.01.2008 15:35:37 von Jules
In my select statement, I return a column for 'datediff' using a CASE
query. I call this column 'Elapsed_days'
is there anyway I can use this result later on in the same select? IE
I want to refer to 'elasped days' in another CASE query rather than
have to re-write something which incorporates the original one.
Simpler the better - I'm new!
Make any sense?
Hope so
Re: Select statement query
am 29.01.2008 15:48:29 von Plamen Ratchev
You cannot directly reference an aliased column in the same SELECT
statement, you would have to repeat the expression. However, you can use a
derived table (or a Common Table Expression if on SQL Server 2005 -
http://msdn2.microsoft.com/en-us/library/ms190766.aspx). Here is an example
using derived table:
SELECT elapsed_days,
CASE WHEN elapsed_days > 60
THEN 'Over 60 days'
ELSE 'Less than 60 days'
END AS msg
FROM (SELECT CASE
WHEN 1 = 1
THEN DATEDIFF(dd, '20080118', '20080120')
END
) AS T (elapsed_days)
HTH,
Plamen Ratchev
http://www.SQLStudio.com