我想创建一个数据透视表视图,显示每个travel_mode的预订月份总月份。我想通过在pgadmin中加入两个表来创建数据透视表视图
表1预订 - 时间戳,预订,PROVIDER_ID 表2提供者 - PROVIDER_ID,TRAVEL_MODE
透视表功能和交叉功能不被用来做此工作。我想要使用连接或其他功能。
我不明白这个查询我试图运行的问题,它显示“关系X不存在”
SELECT c.month, train.amount, bus.amount, air.amount
FROM (SELECT x.month
FROM (SELECT to_char(date_,'month') as month, travel_mode, sum(bookings) as amount
from bookings as b
join providers as p
on b.provider_id=p.provider_id
group by month, travel_mode) x
group by x.month
) c
JOIN x train ON c.month = train.month AND train.amount = 'train'
JOIN x bus ON c.month = bus.month AND bus.amount = 'bus'
JOIN x air ON c.month = air.month AND air.amount = 'air'
;
这是否应该标记postgresql? –
大概没有表x,你不能加入到在查询中创建的子查询中(在mysql中,对于postgresql没有任何想法)。如果你能提供样本数据和预期的输出,我相信有人能够提供帮助。顺便说一句mysql和Postgresql是不同的,你应该只标记你想要的解决方案的SQL方言。 –
编辑标签:) 如何声明表x以便我可以将它用于连接? –