Select statement query

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
Jules [ Di, 29 Januar 2008 15:35 ] [ ID #1919040 ]

Re: Select statement query

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
Plamen Ratchev [ Di, 29 Januar 2008 15:48 ] [ ID #1919041 ]
Datenbanken » comp.databases.ms-sqlserver » Select statement query

Vorheriges Thema: Deploying CLR trigger to SQL-Server 2005 -- Permissions Required.
Nächstes Thema: Important about MySQL Certification