MySQL查询使用LIMIT作为列的动态值来获取记录

时间:2015-10-21 08:47:42

标签: mysql

我有两个表“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; 

0 个答案:

没有答案