Re: better way

Поиск
Список
Период
Сортировка
От Renato De Giovanni
Тема Re: better way
Дата
Msg-id 39AB08BC.27CF43AE@viafractal.com.br
обсуждение исходный текст
Ответ на better way  ("Sherwin Daganato" <win@email.com.ph>)
Список pgsql-sql
Didn't test this, but I think it should also work:

SELECT a.oid_fld
FROM for_payment a, for_payment b
WHERE b.serial_fld = 2
AND b.char_fld = a.char_fld
AND a.serial_fld <> 2

--
Renato
Sao Paulo - SP - Brasil
rdg@viafractal.com.br

> 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pg_attribute_relid_attnam_index problem after log disk filled up
Следующее
От: Renato De Giovanni
Дата:
Сообщение: Re: Can I get this all in one query?