繁体   English   中英

从数据库获取数据的最有效方法

[英]Most efficient way to get the data from database

所以我所拥有的非常简单。 我有一张桌子

分类主

喜欢

猫咪

猫咪主名

和一张桌子:

类别分类

喜欢

类别编号

猫名

CatMainId

'

我想要的是:

具有所有CatMainName的列表,并在所有CatSubNames的名称下。

CatMainId1

所有带有CatMainId1的CatSubName

CatMainId2

所有带有CatMainId2的CatSubName

等等等等

目前,我使用php获取数据,例如

 SELECT * from Categoriemain

在while循环中

 SELECT * FROM CategorieSub WHERE CatMain id = $row['CatMainId']

但这是非常低效的,因为现在如果我有10个CatMainId,我会做10个查询(每次查询一次)

获取这样的列表的最有效方法是什么,我正在考虑将其放入数组或其他内容,但无法正常工作?

使用一个查询:

SELECT Categoriemain.*, CategorieSub.CatSubNames FROM Categoriemain
JOIN CategorieSub ON Categoriemain.CatMainid=CategorieSub.Catmainid

已编辑,已删除GROUP BY

使用此查询,您不需要while循环。

我还将CatSubNames添加到查询字段的输出列表中。

SELECT * FROM Categoriemain
JOIN CategorieSub ON Categoriemain.CatMainid=CategorieSub.Catmainid
ORDER BY Categoriemain.CatMainid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM