我有 3 张桌子:
table1: stores
columns:id(PK), name, visits
table2: categories
columns: id(PK), name
table3: cat_store
columns: store_id(FK), category_id(FK)
有27个类别,每个商店至少有一个类别。cat_store 是联结表。我想要实现的是按字母顺序获取所有类别的列表,并在每个类别名称下按名称列出前 10 个访问过的商店。像这样的东西:
categories.name1
stores.name1
stores.name2
....
stores.name10
categories.name2
stores.name1
stores.name2
....
stores.name10
...
categories.name27
stores.name1
stores.name2
....
stores.name10
目前我有一个包含所有类别名称的数组。然后在一个 foreach 循环中,我得到每个类别的商店。这意味着 28 个查询。
有没有办法用更少的查询来实现这一点?
提前致谢!PS请原谅我的英语不好。