better way - Mailing list pgsql-sql

From Sherwin Daganato
Subject better way
Date
Msg-id fc.000f567200676588000f567200676588.6768b1@fc.emc.com.ph
Whole thread Raw
List pgsql-sql
Is there a better way to write this:

SELECT a.oid_fld FROM for_payment a
WHERE a.serial_fld <> 2
AND EXISTS
(SELECT b.char_fld FROM for_payment b
WHERE b.serial_fld = 2
AND b.char_fld = a.char_fld)

Table for_payment
+-------------+------------+-----------+| serial_fld   |  char_fld  |  oid_fld   | 
+-------------+------------+-----------+| 1               |  test1       |  456701  | | 2               |  test1
| 456702  | | 3               |  test1       |  456703  | | 4               |  test2       |  456704  | | 5
 |  test3       |  456705  | 
 
+-------------+------------+-----------+

sample problem:
Assuming that I pick 2 in serial_fld.
How do I get the oid_fld of the rows with char_fld equal
to the char_fld of 2?
I should get these:

+-----------+|  oid_fld   | 
+-----------+|  456701  | |  456702  | 
+-----------+

Thanks.





pgsql-sql by date:

Previous
From: Pierre Padovani
Date:
Subject: Re: shared memory leak in 7.0.2?
Next
From: Palle Girgensohn
Date:
Subject: pg_attribute_relid_attnam_index problem after log disk filled up