It sounds like you want a crosstab
query. There is probably (I don’t know what version of postgres you’re
using) a contrib package called “tablefunc” that includes the
crosstab functions you’re looking for. From: pgsql-general-owner@xxxxxxxxxxxxxx
[mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On
Behalf Of Joshua Berry Greetings all, I know that this is an elementary question, so I'm just asking for a
pointer in the right direction. I have a query like this that tries to link Retail shops (from the
table aliased as 'a') to sales reps (from the table aliased as 'e') that
service the given Retail shop: select a.id_pdv, e.apellido ||', ' || e.nombre as seller_name from
tbl_pdvs a join tbl_circuitos b using (id_circuito) join tbl_frecuencias c on
b.id_circuito = c.id_circuito join tbl_rutas d on c.id_ruta = d.id_ruta join
tbl_vendedores e on d.vendedor = e.id_vendedor order by a.id_pdv limit 4; id_pdv | seller_name
---------+------------------- 1000001 | 1000001 | LOPEZ, CARLOS 1000002 | 1000002 | As you can see, there are two salesmen that service this shop. What I need is to be able to create a report that has each unique
id_pdv as a row of the result set, with three columns available to show up to
three salemen that are assigned to the route. So this would give something like this: id_pdv | seller_name1
| seller_name2 | seller_name3
---------+------------------+----------------+---------------- 1000001 | 1000002 | Note that the order of the sellers does not matter. Any tips? I've googled 'sql convert rows to columns' and got some
results that appear to be mssql specific. On Stackoverflow there is an example
of how to convert columns to rows using Thanks in advance! Joshua Joshua Berry Software Engineer +(595 21) 282557 Work +(595) 981 330 701 |