通过2个不同的表排序

时间:2012-06-29 23:13:50

标签: php mysql

我有两个表,一个名为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?

感谢你和所有帮助

3 个答案:

答案 0 :(得分: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}

答案 1 :(得分: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}";

答案 2 :(得分:0)

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