一对多PGSQL SELECT转换为单行,动态行数映射到列

时间:2017-05-25 09:26:18

标签: sql postgresql

我有两个表中的数据

Order -> Order Items

第一个表有一个主键ID

id name 
1  order1  
2  order2
3  order3

第二个表的表1中的order_id为foriegn key

name   order_id 
item1  1
item2  2
item2  3

我现在正在运行的查询是

SELECT a.id,
       a.generated_from,
       b.price
FROM   orders AS a
       INNER JOIN order_data AS b
               ON a.id = b.order_id

但是它给了我

id    name      order_data
 1   order1    item1
 1   order1    item1
 1   order1    item1
 2   order2    item1
 2   order2    item1
 3   order3    item1
 3   order3    item1
 3   order3    item2
 3   order3    item2

我希望结果数据包含:

id   order_name         order_data1    order_data2 
 0     order1           item1           item2
 1     order2           item1           item2
 2     order3           null            item2

0 个答案:

没有答案