INTERSECT AND ORDER BY

Started by Gary DeSorboalmost 25 years ago3 messagesgeneral
Jump to latest
#1Gary DeSorbo
isasitis@uchicago.edu

I am trying to use the query below:

SELECT date_worked, hours_worked
FROM hours
WHERE date_worked < '8/15/2001'
INTERSECT
SELECT date_worked, hours_worked
FROM hours
WHERE date_worked > '8/8/2001'
ORDER BY date_worked

but Postgres does not seem to like the ORDER BY clause. Does
anyone know if it is possible to use ORDER BY in conjunction with an
INTERSECT statement? Does anyone have any alternative suggestions? I
cannot use a temporary table because this is a Web-based application.
Thanks in advance for your help.

Gary

#2Bruno Wolff III
bruno@wolff.to
In reply to: Gary DeSorbo (#1)
Re: INTERSECT AND ORDER BY

You probably want to use:
SELECT date_worked, hours_worked
FROM hours
WHERE date_worked < '8/15/2001'
and date_worked > '8/8/2001'
ORDER BY date_worked

On Wed, Jun 13, 2001 at 11:59:27AM -0700,
Gary DeSorbo <isasitis@uchicago.edu> wrote:

Show quoted text

I am trying to use the query below:

SELECT date_worked, hours_worked
FROM hours
WHERE date_worked < '8/15/2001'
INTERSECT
SELECT date_worked, hours_worked
FROM hours
WHERE date_worked > '8/8/2001'
ORDER BY date_worked

but Postgres does not seem to like the ORDER BY clause. Does
anyone know if it is possible to use ORDER BY in conjunction with an
INTERSECT statement? Does anyone have any alternative suggestions? I
cannot use a temporary table because this is a Web-based application.
Thanks in advance for your help.

Gary

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Gary DeSorbo (#1)
Re: INTERSECT AND ORDER BY

Gary DeSorbo <isasitis@uchicago.edu> writes:

I am trying to use the query below:
SELECT date_worked, hours_worked
FROM hours
WHERE date_worked < '8/15/2001'
INTERSECT
SELECT date_worked, hours_worked
FROM hours
WHERE date_worked > '8/8/2001'
ORDER BY date_worked

but Postgres does not seem to like the ORDER BY clause.

Ignoring the fact that this is a tremendously inefficient way to do it
(cf. Bruno Wolff's response nearby), it should have worked. At least
in 7.1, I don't see a problem. Before 7.1 INTERSECT and EXCEPT had
some limitations ...

regards, tom lane