需要帮助从 2 个表中选择 POSTGRES
Posted
技术标签:
【中文标题】需要帮助从 2 个表中选择 POSTGRES【英文标题】:Need Help in selecting from 2 tables POSTGRES 【发布时间】:2013-12-21 05:42:46 【问题描述】:需要关于以下场景的帮助......
表 1 名称:函数
f_id |f_name
10001 |功能 1 10002 |功能 2 10003 |功能 3
表 2 名称:function_user
fu_id |fu_user
10001 |T_User1 10001 |T_User2 10001 |T_User3 10002 |G_User1 10002 |G_User2 10002 |G_User3 10002 |G_User4 10002 |G_User5 10002 |G_User6 10003 |X_User1 10003 |X_User2
需要结果
f_id |fu_user
10001 |T_User1
|T_User2
|T_User3
10002 |G_User1
|G_User2
|G_User3
|G_User4
|G_User5
|G_User6
10003 |X_User1
|X_User2
非常感谢您的即时帮助...... :)
【问题讨论】:
【参考方案1】:select function.f_id, function_user.fu_user from function right join function_user on f_id=fu_id
【讨论】:
它将为所有行选择 function.f_id。我只需要第一次出现的 function.f_id ......不希望 function.f_id 为所有行返回 我知道可以使用程序来完成,但我需要查询.....请任何人......【参考方案2】:在 PostgreSQL 9.2 中有一个函数 string_agg(expression, delimiter)。可能会适合您的目标吗? 查询将类似于:
select f_id ,string_agg(fu_user,'\n') from function join function_user on f_id=fu_id group by f_id order_if_you_need;
您可以使用分隔符来调整格式,但它应该是单个字符
【讨论】:
看起来没问题...但仍然......,fu_user 将被选为单个字段 ryt?(带分隔符)......有没有其他方法我可以将它作为多个行......我认为不可能......我认为我应该继续使用自定义功能...... :(以上是关于需要帮助从 2 个表中选择 POSTGRES的主要内容,如果未能解决你的问题,请参考以下文章
MySQL INSERT ... 从 1 个表中选择 2 个表