From: | Mark Volpe <volpe(dot)mark(at)epamail(dot)epa(dot)gov> |
---|---|
To: | |
Cc: | pgsql-sql(at)postgreSQL(dot)org |
Subject: | Re: [SQL] Question about SELECT and ORDER BY |
Date: | 2000-02-03 15:21:44 |
Message-ID: | 38999D08.4D92B943@epamail.epa.gov |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I think "ORDER BY" must refer to an existing column.
To get the desired result, try adding a third column containing
the result of the calculation you want to sort by:
SELECT table1.attr1, attr2, length(table.attr1) FROM table1 UNION ALL
SELECT table2.attr1, attr3, length(table2.attr1) FROM table2 ORDER BY
length;
but you have to put up w/ the extra column.
Then again, I also find this to work:
SELECT table1.attr1 AS alias, attr2 INTO table3 FROM table1 UNION ALL
SELECT table2.attr1, attr3 FROM table2;
SELECT * from table3 ORDER BY length(alias);
so go figure :-)
Mark
Vladimir Terziev wrote:
>
> Hi,
>
> I have two tables:
>
> table1 (attr1 text, attr2 int4)
>
> table2 (attr1 text, attr3 int4, attr4 bool)
>
> I have a query:
>
> SELECT table1.attr1 AS ALIAS, attr2 from table1 UNION ALL
> SELECT table2.attr1, attr3 from table2 ORDER BY ALIAS;
>
> I that syntax all is OK.
> I want to have a result from ORDER BY length(ALIAS), but this is imposible.
>
> When ORDER BY clause is in format ORDER BY length(attr1), the result is not
> ORDERED BY length of attr1.
>
> What can I do? Are anybody have an idea?
>
> Vladimir
>
> ************
From | Date | Subject | |
---|---|---|---|
Next Message | Don Baccus | 2000-02-03 15:39:28 | Re: [HACKERS] Re: [SQL] Proposed Changes to PostgreSQL |
Previous Message | Zeugswetter Andreas SB | 2000-02-03 15:21:03 | AW: [HACKERS] Re: [SQL] Proposed Changes to PostgreSQL |