在子查询中只带一行

时间:2013-10-23 13:45:15

标签: sql oracle oracle10g subquery

我正在做一个SELECT查询,它会带回一辆汽车,还有一些需要修理的部件。

所以我正在做这件事:

SELECT id_car, concat((select pi.name_piece from t_piece pi LEFT JOIN t_piece_car pc on pc.id_piece = pi.id_piece where pc.id_car = 222), ',') as listPiece
from car 
where id_car = 222

件包含所有可能的部分。 piece_car是我的汽车和汽车之间的链接。因此它包含了我的汽车所需的所有部件。

这里的问题是,子查询带来了不止一行。 我试图在子查询中连接,但没有更好的。 我的车需要3件,​​所以它带回3条线。 我必须带回一行,如下:

'piece1,piece2,piece3'作为listPiece

但我总是有3行。

这是需要只返回一行的子查询,其中包含我的汽车的所有部件名称的连结,而不是主要查询。

更新:最后在此处找到了另一个问题:

https://stackoverflow.com/a/1076237/1439453

考虑到,我的答案与此问题的答案不一样,我真的不知道是否需要让这个问题公开,但必须让存在。

我该怎么办呢。

谢谢。

0 个答案:

没有答案