【发布时间】:2015-12-03 00:34:21
【问题描述】:
【问题讨论】:
标签: mysql sql postgresql pivot-table
【问题讨论】:
标签: mysql sql postgresql pivot-table
示例数据:
create table test (
custname text,
computer numeric,
monitor numeric,
software numeric);
insert into test values
('Alison', 345.89, 123.45, 78.78),
('Jason', 435.34, 158.23, 243.54);
查询:
select
custname "Customer",
unnest(array['Computer', 'Monitor', 'Software']) "Item type",
unnest(array[computer, monitor, software]) "Amount"
from test;
Customer | Item type | Amount
----------+-----------+--------
Alison | Computer | 345.89
Alison | Monitor | 123.45
Alison | Software | 78.78
Jason | Computer | 435.34
Jason | Monitor | 158.23
Jason | Software | 243.54
(6 rows)
如果unnest() 不可用,您可以使用union:
select custname "Customer", 'Computer' "Item type", computer "Amount" from test
union select custname, 'Monitor', monitor from test
union select custname, 'Sofware', software from test
order by 1, 2;
【讨论】: