1
A
回答
3
PostgreSQL有一个ARRAY_AGG
功能,将做串联为您服务。例如
SELECT Users.ID,
ARRAY_AGG(COALESCE(Name || ' : ' || Value, '')) AS Settings
FROM Users
LEFT JOIN Settings
ON Users.ID = Settings.User_ID
GROUP BY Users.ID
你的表结构有点含糊所以上面是基于我对SQL Fiddle
1
假设你在user_id列一个指标,你可以做这样的事情:
select u.*, s.*
from Users u
inner join Settings s on (u.id = s.user_id);
1
下面的查询应该做你想要什么,如果我很好的理解...
SELECT Users.*, Settings.*
FROM Users
JOIN Settings ON Settings.user_id = Users.id
1
尝试GROUP_CONCAT
像这样在mysql?
SELECT u.id, GROUP_CONCAT(s.id)
FROM Users u
INNER JOIN Settings s ON u.id = s.user_id
GROUP BY u.id;
编辑:
PostgreSQL的版本:
SELECT u.id, STRING_AGG(s.id)
FROM Users AS u
INNER JOIN Settings AS s ON u.id = s.user_id
GROUP BY u.id;
+2
PostgreSQL没有'group_concat'功能。等价的PostgreSQL函数是'string_agg' –
相关问题
- 1. LEFT JOIN返回空结果集
- 2. SQL LEFT JOIN问题 - 错误结果
- 3. 筛选LEFT JOIN结果
- 4. MYSQL LEFT JOIN结果不给
- 5. MySQL LEFT JOIN重复结果
- 6. SQL Server LEFT JOIN
- 7. 结合INNER JOIN和LEFT JOIN
- 8. sql confusion LEFT JOIN = BETWEEN
- 9. SQL请求LEFT JOIN
- 10. LEFT JOIN SQL查询
- 11. SQL LEFT JOIN问题
- 12. SQL Server 2005 LEFT JOIN?
- 13. SQL LEFT JOIN帮助
- 14. LEFT JOIN和重复的结果
- 15. 的MySQL LEFT JOIN没有结果
- 16. LEFT JOIN拉动只有一个结果
- 17. LEFT JOIN返回结果为未接通
- 18. Mysql查询LEFT JOIN意外结果
- 19. LEFT JOIN导致重复的结果
- 20. Oracle- SQL:结合LEFT和INNER JOIN
- 21. 从两个表和LEFT JOIN结果中选择子集
- 22. SQL JOIN结果集为单列
- 23. SQL集团已分组结果
- 24. 如何通过计数限制SQL LEFT JOIN查询的结果集
- 25. SQL服务器LEFT JOIN没有给予正确的结果
- 26. SQL LEFT JOIN和WHERE产生意想不到的结果
- 27. SQL LEFT JOIN WHERE无法显示正确的结果
- 28. SQL - 多用和LEFT JOIN不会给预期的结果
- 29. LINQ to SQL的LEFT OUTER JOIN - 过滤空结果
- 30. LEFT OUTER与数据集JOIN
这工作,但我想要做的是为每个用户返回单行其设置分组创建的模式在结果中的'设置'下。 –
那么,你有更多与一个用户相关的设置吗? – aleroot