0

我有两张表,一张被称为addons并保存有关不同插件的信息,有很多列,但这里是主要的

addon_id  |  addon_name      |  addon_size

1         |  loft conversion |  small
2         |  extension       |  large

我还有一个叫addons_count

addon_id  |  addon_count

1         |  5
2         |  6

其中包含系统中使用的插件数量

问题是我已经有一个查询,它只是通过一个while循环输出插件

SELECT * FROM `addons` WHERE addon_size='small' LIMIT {$startpoint_small} , {$limit}

但是我试图让它根据 addon_count 对不同的插件进行排序,但是因为它们来自 2 个不同的表,我将如何做到这一点,例如通过 orderby?

谢谢你和所有的帮助

4

3 回答 3

2
SELECT * FROM 
   addons a , addons_count c 
WHERE
   c.addon_id = a.addon_id
AND
   a.addon_size = 'small'
ORDER BY
   c.addon_count
LIMIT 
   {$startpoint_small} , {$limit}
于 2012-06-29T23:18:07.947 回答
1

您必须加入您的 2 张桌子:

$query = "SELECT * FROM addons a, addons_count ac
WHERE a.addon_id=ac.addon_id AND a.addon_size = 'small'
ORDER BY ac.addon_count DESC
LIMIT {$startpoint_small} , {$limit}";
于 2012-06-29T23:18:50.747 回答
0

将 INNER JOIN 添加到 addons -> addons_count 的查询中,然后排序。

于 2012-06-29T23:17:48.230 回答