我有两个这样的表:
TABLE user(
id CHAR(100)
text TEXT
)
TABLE post(
postid CHAR(100)
postedby CHAR(100)
text TEXT
FOREIGN KEY (postedby) references user
);
我需要一个查询,为每个用户连接该用户所有帖子的 TEXT 列,并将它们放在用户的文本列中。顺序并不重要。 我该怎么办?
最佳答案
要选择值,请使用 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, '');
关于SQL 连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273029/