>>     >> On Sat, Dec 1, 2012 at 8:09 AM, Leonardo M. Ramé
>>     <[1][1][email protected]>
>>     >> wrote:
>>     >>
>>     >> > Hi, I'm wondering if there's a way to refer columns by number in
>>     WHERE
>>     >> > conditions.
>>     >> >
>>     >> > I need this because I'm creating a generic method to create where
>>     >> > clauses for hopefully ANY query, in FreePascal
>>     >>
>>     >> What you suggest, sir, is blasphemy. One of the major creeds of
>>     relational
>>     >> theory is the separation of the logical from the physical. Codd and 
>> all
>>     >> his minions will strike you down.
>>     >>
>>     >> On the other hand, why not just use consistent aliases?
>>     >>
>>     >> select
>>     >> case
>>     >> when (a.IDADICIONAL is null) then 'TITULAR'
>>     >> else 'ADICIONAL'
>>     >> end as col1,
>>     >> c.idcliente as col2, c.apellido as col3, c.nombres as col4
>>     >> from clientes c
>>     >> left join adicionales a on a.IDADICIONAL = c.IDCLIENTE
>>     >>
>>     >> >
>>     >> >
>>     >
>>     > Ann, column name is not the problem. What I wanted to do is to use the
>>     > alias in the WHERE clause, there's no solution for this in a simple
>>     > select.
>>
>>     You can use a derived table.
>>
>
> Yes Thomas, I ended up using a derived table.
>
> I have one doubt regarding derived tables. Imagine an inner query that
> returns millions of records, and the outer table with a where clause that
> limits the results to just a few records, how this affects to
> server performance?.

I don't have an answer out-of-the box, but this can be easily checked by 
inspecting the execution plan and I/O statistics.


-- 
With regards,
Thomas Steinmaurer
http://www.upscene.com/

Reply via email to