MySQL选择行并连接到多个记录
我有2个表,无法使用MySQL查询:MySQL选择行并连接到多个记录,mysql,sql,Mysql,Sql,我有2个表,无法使用MySQL查询: First Table users: user_id name ------------ 1 Bob 2 Alice Second Table fields: id unser_id field_id value ----------------------------- 1 1 4 foo 2 1 5 10 3 2 4 ba
First Table users:
user_id name
------------
1 Bob
2 Alice
Second Table fields:
id unser_id field_id value
-----------------------------
1 1 4 foo
2 1 5 10
3 2 4 bar
现在,我想以一种输出的方式连接这些表:
[0] => (
[user_id] => 1
[name] => Bob
[fields] => (
[4] => foo
[5] => 10
)
[1] => (
[user_id] => 2
[name] => Alice
[fields] => (
[4] => bar
)
)
非常感谢
我试过:
SELECT u.user_id,
u.name
FROM users as u
INNER JOIN fields as f on u.user_id = d.user_id
但我只为每个用户获取第一个字段条目
select u.user_id,u.name,f.field_id,f.value from users u LEFT JOIN fields f ON u.user_id = f.unser_id
也许是这样的?我敦促您也发布代码。告诉我们你希望发生什么并没有告诉我们你是如何实现它的那样有用。它是字段表中的unser\u id或user id?它的user\u id,fields表中的id是字段rowHi的唯一索引,是的,但是我想把f.value映射到f.field\u id,那很好。我想我可以使用两次GROUP\u CONCAT,很好,非常感谢!嗨,这一行只输出字段的第一行。
SELECT user_id,name,GROUP_CONCAT(value SEPARATOR ',')as field FROM users u JOIN fields f
ON u.user_id=f.unser_id GROUP BY user_id