RE: Re(2): optimize sql - Mailing list pgsql-sql

From Henry Lafleur
Subject RE: Re(2): optimize sql
Date
Msg-id E332B20358CDD1118D7A00A0C995F75A9145A3@XSERVER
Whole thread Raw
In response to Re(2): optimize sql  (pgsql-sql@fc.emc.com.ph (pgsql-sql))
List pgsql-sql
If you know that 't' will always be the highest character in the active
field for all records:

SELECT name FROM office, office_application
WHERE code = office_code
GROUP BY name
HAVING MAX(active) < 't'

Of course, if you have an active that is 'z' for example, then this won't
work. I think this should work also regardless of max(active) for the table:

SELECT name FROM office, office_application
WHERE code = office_code AND active <= 't'
GROUP BY name
HAVING MAX(active) < 't'
UNION
SELECT name FROM office, office_application
WHERE code = office_code AND active >= 't'
GROUP BY name
HAVING MIN(active) > 't'

Henry


-----Original Message-----
From: pgsql-sql@fc.emc.com.ph [mailto:pgsql-sql@fc.emc.com.ph]
Sent: Wednesday, July 26, 2000 9:40 PM
To: pgsql-sql@postgresql.org; reedstrm@rice.edu
Subject: Re(2): [SQL] optimize sql


reedstrm@rice.edu writes:
>How does the output of the above differ from:
>
>SELECT name FROM office, office_application 
>WHERE code = office_code 
>AND active != 't';
>
>Without knowing the table structures (which tables to active, code, 
>and office_code belong to?) it's hard to suggest much else.
>
>Ross


The name and code fields belong to office table. While
office_code and active fields belong to office_application table.
The name field have duplicates and among the duplicates,
only one active field is TRUE. I just wanted to get name field
that has no TRUE active field. Any other idea? Thanks.

sherwin


pgsql-sql by date:

Previous
From: "Gerhard Dieringer"
Date:
Subject: Antw: Re: Large text insertion
Next
From: Jerome Raupach
Date:
Subject: Compile