我有两张这样的表:
TABLE user(
id CHAR(100)
text TEXT
)
TABLE post(
postid CHAR(100)
postedby CHAR(100)
text TEXT
FOREIGN KEY (postedby) references user
);
我需要一个查询,为每个用户连接该用户的所有帖子的TEXT列,并将它们放在用户的文本列中。订单并不重要。 我该怎么办?
答案 0 :(得分:2)
要选择值,请使用GROUP_CONCAT
:
SELECT postedby, GROUP_CONCAT(text)
FROM post
GROUP BY postedby
要更新原始表格,您需要使用多表格update将此结果与原始表格结合使用。
UPDATE user
LEFT JOIN
(
SELECT postedby, GROUP_CONCAT(text) AS text
FROM post
GROUP BY postedby
) T1
ON user.id = T1.postedby
SET user.text = IFNULL(T1.text, '');