Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有未知行结果的透视_Sql_Postgresql_Pivot - Fatal编程技术网

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     |        |           |         |           | ...