RE: Re(2): optimize sql
От | Henry Lafleur |
---|---|
Тема | RE: Re(2): optimize sql |
Дата | |
Msg-id | E332B20358CDD1118D7A00A0C995F75A9145A3@XSERVER обсуждение исходный текст |
Ответ на | Re(2): optimize sql (pgsql-sql@fc.emc.com.ph (pgsql-sql)) |
Список | 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 по дате отправления: