Php 数据库查询的帮助
所以我建立了一个分类表。在这个表中有一个名为“id”、“name”、“fk_parent_cat_id”(以及更多)的字段。“fk_parent_cat_id”基本上只是将一个特定类别与一个父类别相关联 嗯。也就是说,我如何进行一个查询,既获取类别的信息,又获取父类别的信息。我主要关心的是,现在我只获取父类id,这很好,但我不想运行另一个查询来识别父类的名称 正常的查询结果类似于:Php 数据库查询的帮助,php,mysql,database,Php,Mysql,Database,所以我建立了一个分类表。在这个表中有一个名为“id”、“name”、“fk_parent_cat_id”(以及更多)的字段。“fk_parent_cat_id”基本上只是将一个特定类别与一个父类别相关联 嗯。也就是说,我如何进行一个查询,既获取类别的信息,又获取父类别的信息。我主要关心的是,现在我只获取父类id,这很好,但我不想运行另一个查询来识别父类的名称 正常的查询结果类似于: id: 2 name: category 1 fk_parent_cat_id: 1 我希望结果是 id: 2
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
这个问题有意义吗?我想有一种方法可以通过某种连接来实现这一点
谢谢你的任何意见 您可以通过内部联接来实现这一点。只需确保表和外键列的名称与数据库中的实际名称相同(因为您没有提供有关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
您可以通过内部联接来实现这一点。只需确保表和外键列的名称与数据库中的实际名称相同(因为您没有提供有关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
假设我理解正确,这是一个基本连接
SELECT id, fk_parent_cat_id, fk_parent_cat_name
FROM table, parent_table
WHERE table.id = parent_table.id;
由于没有正确的表名,请使用正确的表名进行修复,这还假定父表中的主键也被称为“id”
如果我有误解,请在评论中纠正我。假设我理解正确,这是一个基本连接
SELECT id, fk_parent_cat_id, fk_parent_cat_name
FROM table, parent_table
WHERE table.id = parent_table.id;
由于没有正确的表名,请使用正确的表名进行修复,这还假定父表中的主键也被称为“id”
如果我有误解,请在评论中更正。在查询中使用自连接
SELECT t.id, t.name, t.fk_parent_cat_id, p.name fk_parent_cat_name
FROM table t INNER JOIN
table p on t.fk_parent_cat_id = p.id
在查询中使用自联接
SELECT t.id, t.name, t.fk_parent_cat_id, p.name fk_parent_cat_name
FROM table t INNER JOIN
table p on t.fk_parent_cat_id = p.id
酷。这应该行得通。顺便说一句,这是一个单一类别的表。我想我需要对现有的所有类型的连接进行一些研究。我一直对它们有一些概念,现在我正在创建各种带有连接表之类的关系数据库,我只需要开始使用它们。这应该行得通。顺便说一句,这是一个单一类别的表。我想我需要对现有的所有类型的连接进行一些研究。我一直对它们有一些概念,现在我正在创建各种带有连接表之类的关系数据库,只需要开始使用它们。。