我有两个表“tbl_shop”和“tbl_shop_category”,每个商店可以分为多个类别。以下是表结构。
1)tbl_shop
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| shop_name | varchar(100) | NO | | NULL | |
| category_limit | int(11) | NO | | 1 | |
+----------------+--------------+------+-----+---------+----------------+
2)tbl_shop_category
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| shop_id | int(11) | NO | | NULL | |
| category | varchar(100) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
我想在列category_limit
中的tbl_shop表中使用限制定义来获取所有商店及其类别e.g。
如果商店名称“Mysha”在tbl_shop_category中有20个类别,并且在tbl_shop表中的category_limit为5,那么它应该只返回该商店的5个类别。
我尝试了以下查询,但没有得到我想要的结果。
SELECT shop.shop_name,
cat.category
FROM tbl_shop shop
LEFT JOIN tbl_shop_category cat
ON shop.id = cat.shop_id
LIMIT shop.category_limit;