我有一个处理7种不同语言的数据库,我想在一行中返回所有post_content
。
例:
fr_content,en_content,es_content,int_content ...
我当前的SQL返回7行
我的sql是:
SELECT p.ID, t.trid, ptrans.*, pen.post_content
FROM hex_posts p
JOIN hex_icl_translations t
ON p.ID = t.element_id
LEFT JOIN hex_icl_translations ptrans
on ptrans.trid = t.trid
LEFT JOIN hex_posts pen
on pen.ID = ptrans.element_id
WHERE
p.ID = 22790
ORDER BY p.post_date DESC
ID
是原始帖子,element_id
是翻译过的帖子。
有什么主意如何将所有这些行分组为一个?
谢谢
答案 0 :(得分:0)
使用group_concat()
SELECT p.ID, t.trid, ptrans.*, group_concat(pen.post_content SEPARATOR ', ')
FROM hex_posts p
JOIN hex_icl_translations t
ON p.ID = t.element_id
LEFT JOIN hex_icl_translations ptrans
on ptrans.trid = t.trid
LEFT JOIN hex_posts pen
on pen.ID = ptrans.element_id
WHERE
p.ID = 22790
group by p.ID, t.trid
ORDER BY p.post_date DESC