SQL запрос Concat

У меня есть две таблицы как это:

TABLE user(
id     CHAR(100)
text   TEXT
)

TABLE post(
postid     CHAR(100)
postedby   CHAR(100)
text       TEXT
FOREIGN KEY (postedby) references user
);

Мне нужен запрос, который для каждого пользователя связывает Столбец текста всех сообщений того пользователя и помещает их в столбец текста пользователя. порядок не важен.Что мне делать?

1
задан Shayan 17 July 2010 в 19:51
поделиться

1 ответ

Для выбора значений используйте 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, '');
2
ответ дан 2 September 2019 в 22:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: