SQL 获取外键属性的属性
SQL get attribute of attribute of foreign key
我需要一些帮助来构建 SQL 语句。我有两张桌子。
- Table
categories
列 name
和 parent
,其中 parent
引用其自身的 ID。
例如:
ID name parent
-------------------------
1 Fruit Null
2 Banana 1
3 Apple 1
- Table
Fooddiary
列 examplecol1, examplecol2, "categorie
,其中 categorie
引用 categories
的 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'
我需要一些帮助来构建 SQL 语句。我有两张桌子。
- Table
categories
列name
和parent
,其中parent
引用其自身的 ID。
例如:
ID name parent
-------------------------
1 Fruit Null
2 Banana 1
3 Apple 1
- Table
Fooddiary
列examplecol1, examplecol2, "categorie
,其中categorie
引用categories
的 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'