how to: refer to select list calculations other places in the calculations.

View: New views
4 Messages — Rating Filter:   Alert me  

how to: refer to select list calculations other places in the calculations.

by Little, Douglas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi,

I have very complex sql (generated by cognos) I’m porting from Teradata that basically uses column alias in the calculated columns.

Is there any way to do this type of thing in Psql?

 

Essentially I need to do is refer to a calculated column later in the select list (but far more complex – like 50 pages printed out)  

sel a,b,a+b as c, c*d, c*f, c*g, c*h, c*I, c*j, c*k,……       ---  where c is a calculated column used in other calculations.

from ....

 

 

Doug Little

Sr. Data Warehouse Architect | Enterprise Data Management | Orbitz Worldwide

500 W. Madison, Suite 1000  Chicago IL 60661| Office 312.260.2588 | Fax 312.894.5164 | Cell 847-997-5741

Douglas.Little@...

   orbitz.com | ebookers.com | hotelclub.com | cheaptickets.com | ratestogo.com | asiahotels.com 

 



Parent Message unknown Re: how to: refer to select list calculations other places in the calculations.

by hazlup :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I might do the substitution, analyse the query and hope to break it up.
Can it possibly be optimal?

Little, Douglas wrote:

> Hi Rob,
> Thanks for the response.
> Repeating the base calculation will work but the calculations are  stunningly complex and long.  Repeating them will undoubtly increase editing errors and maintenance problems.
>
> Wish I had a sample to post.  Last query I analyzed was approx 10k lines and printed to over 50 pages.   Yes, it was a single query.  I'm amazed that cognos would generate.  Basically they generate a pivoted cross-tab from sql.
>
> Thanks
> Doug
>
>
>
>
> -----Original Message-----
> From: Rob Sargent [mailto:robjsargent@...]
> Sent: Wednesday, September 09, 2009 11:59 PM
> To: Little, Douglas
> Subject: Re: [SQL] how to: refer to select list calculations other places in the calculations.
>
> Would reverting to the base columns work?
>
> select a, b, a+b as c, (a+b)*d, (a+b)*f etc.
>
> Little, Douglas wrote:
>  
>> Hi,
>>
>> I have very complex sql (generated by cognos) I'm porting from
>> Teradata that basically uses column alias in the calculated columns.
>>
>> Is there any way to do this type of thing in Psql?
>>
>> Essentially I need to do is refer to a calculated column later in the
>> select list (but far more complex - like 50 pages printed out)
>>
>> sel a,b,a+b as c, c*d, c*f, c*g, c*h, c*I, c*j, c*k,...... --- where c is
>> a calculated column used in other calculations.
>>
>> from ....
>>
>> **Doug Little**
>>
>> Sr. Data Warehouse Architect | Enterprise Data Management | Orbitz
>> Worldwide
>>
>> 500 W. Madison, Suite 1000 Chicago IL 60661| Office 312.260.2588 | Fax
>> 312.894.5164 | Cell 847-997-5741
>>
>>
>>       ***Douglas.Little@...* <mailto:Douglas.Little@...>**__
>>
>> orbitz.com <http://www.orbitz.com/> | ebookers.com
>> <http://www.ebookers.com/> | hotelclub.com <http://www.hotelclub.com/>
>> | cheaptickets.com <http://www.cheaptickets.com/> | ratestogo.com
>> <http://www.ratestogo.com/> | asiahotels.com <http://www.asiahotels.com/>
>>
>>    

--
Sent via pgsql-sql mailing list (pgsql-sql@...)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Re: how to: refer to select list calculations other places in the calculations.

by Bernd Nawothnig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Sep 09, 2009 at 08:27:35AM -0500, Little, Douglas wrote:

> I have very complex sql (generated by cognos) I'm porting from
> Teradata that basically uses column alias in the calculated columns.
> Is there any way to do this type of thing in Psql?

I use nested subqueries and do the renaming of calculated columns in the
innermost queries in such cases.




Bernd

--
Sent via pgsql-sql mailing list (pgsql-sql@...)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Re: how to: refer to select list calculations other places in the calculations.

by the6campbells :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

SQL (unlike MDX) does not allow you to define an expressions and reference it elsewhere in the same block by name. As suggested, a hand written or auto-generated statement can try to refactor the statement by pushing things into a derived table and the outer blocks refer to the projected item names. Not only can this make the SQL more readable it can assist some vendors who internally may not do a great job of common expression factoring. This is one reason why common table expressions are used.
 
For example, if you are in report studio, you can copy the data items into another Bi-Query which you reference from the query that consumes it.


 
On Sat, Oct 31, 2009 at 4:11 PM, Bernd Nawothnig <Bernd.Nawothnig@...> wrote:
On Wed, Sep 09, 2009 at 08:27:35AM -0500, Little, Douglas wrote:

> I have very complex sql (generated by cognos) I'm porting from
> Teradata that basically uses column alias in the calculated columns.
> Is there any way to do this type of thing in Psql?

I use nested subqueries and do the renaming of calculated columns in the
innermost queries in such cases.




Bernd

--
Sent via pgsql-sql mailing list (pgsql-sql@...)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql