Re: Left Join Complex Query

Поиск
Список
Период
Сортировка
От Alex Pilosov
Тема Re: Left Join Complex Query
Дата
Msg-id Pine.BSO.4.10.10102021207461.9372-100000@spider.pilosoft.com
обсуждение исходный текст
Ответ на Left Join Complex Query  ("Gregory Wood" <gregw@com-stock.com>)
Список pgsql-general
Far simpler way to do this, without outer join:

select bc.b,bc.c, (select count(*) from abc where bc.....)::boolean


On Fri, 2 Feb 2001, Gregory Wood wrote:

> I was wondering if someone might be able to help me with a complex query. I
> have two tables, ABC (columns A, B, and C) and BC (columns B and C) where
> two columns from ABC (B and C) are foreign keys into BC. There can be
> multiple A values for a given BC, or no values at all.
>
> I want to do a query so that I get *all* the values from BC, and a true or
> false value for whether A exists for a given value of BC. I've gotten close,
> but I still have a problem. What I came up with was:
>
> SELECT DISTINCT BC.B,BC.C,
>   CASE
>     WHEN ABC.A=1 THEN 'true' ELSE 'false'
>   END
>  FROM (BC LEFT JOIN ABC ON BC.B=ABC.B AND BC.C=ABC.C)
>
> The problem is that although I do get true values if A exists for a given
> value of BC, I also get false values. In other words, for every 1,2,true, I
> also get a 1,2,false.
>
> I can solve the problem programmatically, but I was hoping to create a view
> to do all the work for me. I'd love any suggestions!
>
> Greg
>
>


В списке pgsql-general по дате отправления:

Предыдущее
От: Mike Mascari
Дата:
Сообщение: RE: Left Join Complex Query
Следующее
От: Lamar Owen
Дата:
Сообщение: Re: Perl Interface Documentation