gpt4 book ai didi

sql - PostgreSQL 多行由用作表达式的子查询返回

转载 作者:行者123 更新时间:2023-11-29 14:09:02 26 4
gpt4 key购买 nike

运行 PostgreSQL 9.6。我正在尝试输出由一个值和一个名称列表组成的行。这是我的查询:

SELECT name, (SELECT car_name FROM cars WHERE user = id)
FROM users WHERE user_id = 1 ORDER BY name;

但它失败了:

ERROR:  more than one row returned by a subquery used as an expression

这当然是有道理的,但我希望将嵌套查询输出为列表或 json。我试过 row_to_json,但也失败了。

最佳答案

使用聚合函数,例如 string_agg()json_agg():

SELECT name,
(SELECT string_agg(car_name) FROM cars WHERE user = id)
FROM users
WHERE user_id = 1
ORDER BY name;

关于sql - PostgreSQL 多行由用作表达式的子查询返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51189693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com