所以我设置了一个类别表。在此表中,有一个名为“id”、“name”、“fk_parent_cat_id”(等等)的字段。 “fk_parent_cat_id”基本上只是将一个特定类别与父类别联系起来。
好的。话虽如此,我将如何进行查询以获取有关类别的信息,但同时也获取有关父类别的信息。我主要担心的是,现在我只获取父 id,这很好,但我不想运行另一个查询来识别父类别的名称。
一个正常的查询结果应该是这样的:
id: 2
name: category 1
fk_parent_cat_id: 1
而且,我希望结果是
id: 2
name: category 1
fk_parent_cat_id: 1
fk_parent_cat_name: top category
这个问题有意义吗?我想有一种方法可以通过某种连接来做到这一点......
感谢您的任何输入!
最佳答案
您可以使用 INNER JOIN 来完成此操作。只需确保表名和外键列是它们在数据库中的实际名称(因为您没有提供有关 ParentCategory 表中列名的信息)。请记住,如果您只有一个类别表(即所有类别都存储在一个表中),那么针对同一个表进行自连接没有任何问题 - 您只需要在查询中为表名添加别名即可确保它们没有歧义。
SELECT
C.id
, C.name
, C.category
, P.parent_cat_name
FROM
ChildCategory C
INNER JOIN
ParentCategory P
ON
C.fk_parent_cat_id = P.parent_cat_id
关于php - 帮助进行数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1827951/