MySql仅限制连接表中的第一个表

时间:2014-07-29 12:45:46

标签: php mysql

我很难从连接表中限制一个表。

我想仅限制第一个表rosary_group_name。在下面的代码中,我限制了两个表。有什么想法吗?

$sql = "
    SELECT e.id,
           e.rosary,
           e.group_name,
           e.description,
           u.group_id,
           u.name,
           u.decade,
           u.intention,
           u.datume 
      FROM `rosary_group_name` AS e 
INNER JOIN `rosary_groups` AS u 
        ON e.id = u.group_id 
  ORDER BY e.id DESC $limit;
"; 

变量$ limit设置要从两个表中显示的行数。我想只将$ limit应用于第一个表。

2 个答案:

答案 0 :(得分:2)

您可以尝试对第一个表使用子查询,例如

SELECT 
       e.*
       u.group_id,
       u.name,
       u.decade,
       u.intention,
       u.datume 
FROM (SELECT e.id, e.rosary, e.group_name, e.description, FROM `rosary_group_name` AS e $limit) AS e 
INNER JOIN `rosary_groups` AS u 
        ON e.id = u.group_id 
ORDER BY e.id DESC;

(不确定语法是否正确,抱歉。但我希望你能得到一个想法)

答案 1 :(得分:1)

内部联接将为您提供有限(匹配的行)结果。您应该考虑左连接,以便从左侧表格中获得更多结果