从同一个表中获取另一行的数据

时间:2017-12-04 13:29:55

标签: mysql sql

我有一个for i in range (0,latstep): for j in range (0,lonstep): if coastline[i,j] == True: ... 表:

categories

我想要完成的是获取| cat_id | cat_name | cat_desc | child_cat 的猫名称(如果存在)。

示例数据:

child_cat

当我收到| cat_id | cat_name | cat_desc | child_cat 1 test testd 0 2 test2 testd2 1 的信息时,我还想获得cat_id = 2的{​​{1}}。

预期产出:

cat_name

我应该使用哪种方法?

1 个答案:

答案 0 :(得分:0)

与注释一样,使用左连接将表连接到自身,以便不剥离没有子项的类别。

SELECT t1.cat_id, t1.cat_name, t1.cat_desc, t2.cat_name as child_cat_name
FROM categories t1
LEFT JOIN categories t2 on t1.child_cat = t2.cat_id;

正如Juan正确指出的那样,别名t1t2需要设置,因为我们要连接同一个表两次,需要告诉SQL引擎以某种方式区分表。

相关问题