|
Posted by Hugo Kornelis on 06/26/07 20:29
On Tue, 26 Jun 2007 09:27:03 -0700, sweetpotatop@yahoo.com wrote:
>On Jun 26, 12:16 pm, Ed Murphy <emurph...@socal.rr.com> wrote:
>> sweetpota...@yahoo.com wrote:
>> > I got 'Invalid Column Name NewCol1' when I query the following:
>>
>> > Select col1, col2, (some calculation from the fields) as NewCol1,
>> > (some calculation from the fields) as NewCol2,
>> > NewCol1 = NewCol2 from
>> > Table1 inner join Table2 inner join Table3....
>> > Where
>> > .....
>>
>> > Basically, I want to find out if NewCol1 = NewCol2 after the
>> > calculation
>>
>> You can try this:
>>
>> select col1, col2, (...) as NewCol1, (...) as NewCol2,
>> case when NewCol1 = NewCol2 then 'equal' else 'not equal' end
>>
>> but I don't think that works. This should definitely work:
>>
>> select col1, col2, (...) as NewCol1, (...) as NewCol2,
>> case when (...) = (...) then 'equal' else 'not equal' end
>
>I just want to avoid the calculation again when it is already there as
>my query takes a while to run already.
Hi sweetpotatop,
Instead of using a temp table as Ed suggests, you can better use a
derived table:
SELECT col1, col2, NewCol1, NewCol2,
CASE WHEN NewCol1 = NewCol2 THEN 'equal' ELSE 'not equal' END
FROM (SELECT col1, col2, (...) AS NewCol1, (...) AS NewCol2
FROM YourTable
WHERE Something = SomethingElse) AS D;
--
Hugo Kornelis, SQL Server MVP
My SQL Server blog: http://sqlblog.com/blogs/hugo_kornelis
Navigation:
[Reply to this message]
|