MySQL查询建议

MySQL查询建议,mysql,sql,Mysql,Sql,我有一个像这样的MySQL表- ID NAME PARENT ===================== 1 Class 0 2 Math 1 3 Physics 1 4 Cooking 0 5 Italian 4 6 Chinese 4 我想要一个能给我这个输出的查询- ID NAME ===================== 1 Class 2 Math Class 3 Ph

我有一个像这样的MySQL表-

ID    NAME     PARENT
=====================
1     Class    0
2     Math     1
3     Physics  1
4     Cooking  0
5     Italian  4
6     Chinese  4
我想要一个能给我这个输出的查询-

ID    NAME
=====================
1     Class
2     Math Class
3     Physics Class
4     Cooking
5     Italian Cooking
6     Chinese Cooking

家长的姓名将附加孩子的姓名,如姓氏。

在这种情况下需要左连接
,因为有
家长
ID
不匹配

SELECT t1.ID, CONCAT(t1.NAME, ' ', t2.NAME) AS NAME
FROM your_table t1
INNER JOIN your_table t2 ON t1.PARENT = t2.ID
SELECT  a.ID,
        CONCAT(a.Name, ' ', COALESCE(b.name,'')) Name
FROM    TableName a
        LEFT JOIN TableName b
            ON a.Parent = b.ID
您还可以使用
CONCAT\u WS()
,以便可以省略
COALESCE()


CONCAT
将帮助您解决这一问题。使用CONCAT和CASE select语句,,,给出一个快照并发布错误,至少您可以这样做try@javalovers为什么
CASE()
SELECT  a.ID,
        CONCAT_WS(' ', a.Name, b.name) Name
FROM    TableName a
        LEFT JOIN TableName b
            ON a.Parent = b.ID