如何将多列中的数据合并为一个? [邻接列表模型查询]

时间:2015-07-03 16:31:39

标签: mysql sql

我的查询

SELECT t1.categoryid AS lev1, t2.categoryid as lev2, t3.categoryid as lev3, t4.categoryid as lev4
FROM category AS t1
LEFT JOIN category AS t2 ON t2.parent = t1.categoryid
LEFT JOIN category AS t3 ON t3.parent = t2.categoryid
LEFT JOIN category AS t4 ON t4.parent = t3.categoryid
WHERE t1.categoryid = 4149418031;

这是看起来像

的结果

enter image description here

如您所见,它返回四列。 我想将所有四种不同的数据合并为一列。

我查看了类似的问题,但没有一个在他们的查询中有左联接。  我知道可以使用union,但我很难挣扎。

感谢。

1 个答案:

答案 0 :(得分:0)

正如您所说,您可以在查询结果上使用clientname。在接下来的回答中,我将向您展示一个使用CTE的解决方案,这是许多系统中可用的标准SQL语法,但遗憾的是,不是在MySQL中。但是,要将此查询转换为MySQL,您可以查看以下答案:How do you use the "WITH" clause in MySQL?

UNION