MySQL查询建议
我有一个像这样的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
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