SQL 获取外键属性的属性

SQL get attribute of attribute of foreign key

我需要一些帮助来构建 SQL 语句。我有两张桌子。

  1. Table categoriesnameparent,其中 parent 引用其自身的 ID。

例如:

ID     name      parent
-------------------------
1      Fruit      Null
2      Banana       1
3      Apple        1
  1. Table Fooddiaryexamplecol1, examplecol2, "categorie,其中 categorie 引用 categories
  2. 的 ID

现在我想获取 examplecol1 == "test" 中的所有 Fooddiary 个条目,格式如下:

Categorie    Subcategorie    examplecol1     examplecol2
---------------------------------------------------------
Fruit        Banana           test             a
Fruit        Banana           test             b
Fruit        Apple            test             a

我试过这样的连接:

Select 
    categories.name, categories.parent, 
    examplecol1, examplecol2 
from 
    Fooddiary
join 
    categories on categorie = categories.id 
where 
    examplecol1=="test";

除了在我的结果列 Categorie 中有父 ID 而不是名称这一事实外,这是可行的。所以我要找的是这样的东西:

Select 
    categories.name, categories.parent.name, 
    examplecol1, examplecol2 
from 
    Fooddiary 
join 
    categories on categorie = categories.id 
where 
    examplecol1 == "test";

有人可以帮忙解决这个问题吗?

你在找这个吗?

       select cat.NAME, cat.PARENT, parents.NAME, fd.EXAMPLECOL1, fd.EXAMPLECOL2
         from FOODDIARY fd
   inner join CATEGORIES cat on fd.CATEGORIE = cat.ID
    left join CATEGORIES parents on cat.PARENT = parents.ID
        where fd.EXAMPLECOL1 = 'test'