Sql 具有未知行结果的透视
为了简化我的问题,假设我有两个表:Sql 具有未知行结果的透视,sql,postgresql,pivot,Sql,Postgresql,Pivot,为了简化我的问题,假设我有两个表:users和cars,它们具有多对多关系(一个用户可以有多辆车,一辆车可以有多个用户): 我有一个网络积垢,管理员可以关联汽车的用户,所以我不知道有多少车有一个用户。所以我想做一个查询,显示用户和所有相关的汽车,但像一个枢轴,类似这样: SELECT * FROM pivot ------ name_usr | id_car | name_car | id_car2 | name_car2 | ... n number of cars usr1 | 1
users
和cars
,它们具有多对多关系(一个用户可以有多辆车,一辆车可以有多个用户):
我有一个网络积垢,管理员可以关联汽车的用户,所以我不知道有多少车有一个用户。所以我想做一个查询,显示用户和所有相关的汽车,但像一个枢轴,类似这样:
SELECT * FROM pivot
------
name_usr | id_car | name_car | id_car2 | name_car2 | ... n number of cars
usr1 | 1 | car1 | 2 | car2 | ...
usr2 | 1 | car1 | | | ...
usr3 | | | | | ...
我尝试使用
crosstab()
函数,但我需要知道我要返回多少列,并且我需要进行5次内部联接以查看更多数据。任何帮助都将不胜感激。将值放入数组如何?对不起,我在PostgreSQL中没有足够的级别,因此目前我不知道如何使用数组。你能告诉我一个使用数组的解决方法吗?
SELECT * FROM pivot
------
name_usr | id_car | name_car | id_car2 | name_car2 | ... n number of cars
usr1 | 1 | car1 | 2 | car2 | ...
usr2 | 1 | car1 | | | ...
usr3 | | | | | ...