Re: Query Advice

Поиск
Список
Период
Сортировка
От Jason Aleski
Тема Re: Query Advice
Дата
Msg-id 9b898bec-bc88-f67e-e327-4c04fd169100@gmail.com
обсуждение исходный текст
Ответ на Query Advice  (Gary Chambers <gwchamb@gwcmail.com>)
Список pgsql-sql
I agree, depends what the application is expecting, but if you only 
wanted to return each field, would a regular JOIN work?  This should 
return each field in a separate column.

SELECT t1.name, t2.description, t2.addr, t2.city, t2.stprov, t2.zip
FROM company t1
JOIN postal_addresses AS t2 ON t1.company_id=t2.company_id
WHERE t1.company_id=1731;

-JA-





On 3/30/2017 1:03 PM, Gary Chambers wrote:
> All,
>
> Given the following tables:
>
> company
> -------
> company_id
> name
>
> postal_addresses
> ----------------
> postal_address_id
> company_id
> description
> addr
> city
> stprov
> zip
>
>
> I've been handling joins as such:
>
> select c.company_id,
>        array(select concat_ws('|', pa.description, pa.addr, pa.city,
>                               pa.stprov, pa.zip)
>        ) addrs
> from companies c inner join postal_addresses pa using (company_id)
> where company_id = 1731;
>
> Is there a better way to get the company information along with all of 
> the
> addresses in a single query?  This works, but it requires the additional
> step of splitting the addresses by the the delimiter at the application
> layer.
>
> Thanks for any advice you have.
>
> -- 
> G.
>
>




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

Предыдущее
От: Rob Sargent
Дата:
Сообщение: Re: Query Advice
Следующее
От: Gary Chambers
Дата:
Сообщение: Re: Query Advice