gpt4 book ai didi

php - 使用外键 ID 连接 2 个表

转载 作者:行者123 更新时间:2023-11-30 23:15:19 25 4
gpt4 key购买 nike

我有一个 2 类别系统,基本上我想做的是我有 2 个表,top_category 和 bottom_category,我创建了我的侧边栏,它将使用 sql 查询列出所有产品。有没有一种方法可以在一个 sql 查询中提取 top_category 和 bottom_category 数据,并按 top_category 的外键 ID 对 bottom_category 进行排序,这样当我在列表中循环它们时,它们最终会出现在正确的嵌套中?

这是我的表格,

CREATE TABLE top_category (
id INT PRIMARY KEY,
NAME VARCHAR(100)
);

CREATE TABLE bottom_category (
id INT PRIMARY KEY,
NAME VARCHAR(100) ,
top_category_id INT REFERENCES top_category
);

这是我的产品表,所以当我点击 bottom_category 链接时,我希望它列出链接到 bottom_category_id 的产品:

create table product (
id int primary key,
name varchar(100) ,
bottom_category_id int references bottom_category
);

最佳答案

你可以这样写

SELECT product.*, bottom_category.name, top_category.name
FROM product
LEFT JOIN bottom_category ON bottom_category.id = product.bottom_category_id
LEFT JOIN top_category ON top_category.id = bottom_category.top_category_id
ORDER BY top_category.id,bottom_category.id

但是,如果您有非常大的表,那么只需忘记第三范式并将类别名称添加到产品表中即可。但只有您有非常大的类别表。

UPD添加ORDER BY

关于php - 使用外键 ID 连接 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18150831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com