У меня есть две таблицы как это:
TABLE user(
id CHAR(100)
text TEXT
)
TABLE post(
postid CHAR(100)
postedby CHAR(100)
text TEXT
FOREIGN KEY (postedby) references user
);
Мне нужен запрос, который для каждого пользователя связывает Столбец текста всех сообщений того пользователя и помещает их в столбец текста пользователя. порядок не важен.Что мне делать?
Для выбора значений используйте GROUP_CONCAT
:
SELECT postedby, GROUP_CONCAT(text)
FROM post
GROUP BY postedby
Чтобы обновить исходную таблицу, вам нужно будет объединить этот результат с исходной таблицей, используя многотабличное обновление .
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, '');