PostgreSQL:一行中多行的值

时间:2018-12-16 13:24:33

标签: sql postgresql

我有以下数据库:

汽车:{[CarID,Horpower,品牌,HeadDesigner]}

DesignsCar:{[CarID,DesID]}

Designer:{[DesID,名称]}

您应该注意,虽然每辆汽车只有1个HeadDesigner,但可以有多个人设计汽车(就像在汽车上工作一样)。

说我的数据库中有10辆车。对于CarID(1..9),DesignsCar中每个CarID仅一个DesID。 但是,对于carID 10,我们有3个人在处理它(carID在DesignsCar中有3个条目,因为有3个人在其中工作)。

说我这样做:

select *
from car c 
left outer join designscar ds on c.carid = ds.carid 
left outer join designer d on frb.persnr = r.persnr

当我只想要10行时,这给了我12行。为什么给我12行的原因应该很清楚:对于carID 10,我们有3个人在工作(carID在DesignsCar中有3个条目,因为3个人在上面工作)。

我希望我能很好地解释这个问题,所以我的问题来了:

如何修改上面的查询,以便获得10行。对于CarID 10,我希望将这3个设计器写在同一列中(例如,逗号分隔,但只要在同一列中,任何东西都可以工作)。

有可能吗?

1 个答案:

答案 0 :(得分:0)

您需要汇总值。这是一种可能性:

navigate(navigateTo: string, level: object) {
    const { navigation } = this.props;
    navigation.navigate(navigateTo, { level });
}