2011-12-14 58 views
1

据我所知,这个问题指的是琐碎规则的最后结果

所以我有两个表(一对多):

1)规则 - ID,描述

2)结果 - ID,RULE_ID,规则的结果,日期

我希望得到最后的结果FO从第二个表中的每个规则

+1

希望你已经尝试了一些东西......你能证明它..? – 2011-12-14 15:07:55

+0

是的,我尝试过,但结果不是预期的。 group by,inner join,我做了错误的byt可以udarstand什么 – Kaiser 2011-12-14 15:10:39

回答

4
SELECT ru.id, ru.description, re.result_of_the_rule, re.date 
    FROM (SELECT rule_id, MAX(date) AS MaxDate 
       FROM result 
       GROUP BY rule_id) q 
     INNER JOIN rules ru 
      ON q.rule_id = ru.id 
     INNER JOIN result re 
      ON q.rule_id = re.rule_id 
       AND q.MaxDate = re.date 
0

你可以试试这个:

SELECT q.* 
    FROM (SELECT ru.*,result.* 
       FROM result 
       INNER JOIN rules ru 
      ON q.rule_id = ru.id 
       GROUP BY rule_id order by result.ID Desc) as q;