SELCT A.VALUES,MAX(B.V)
FROM A ,B
WHERE A.VALUES = B.VALUES
GROUP BY A.VALUES

解决方案 »

  1.   

    下面的可以满足你的需求吗?
    SQL> select * from tab_1;        ID
    ----------
             1
             2
             3
             4
             5
             66 rows selectedSQL> select * from tab_2;        ID     VAL_ID
    ---------- ----------
             1          4
             1          2
             2          6
             2          8
             3          9
             3         12
             4         15
             4         11
             6         19
             6         2010 rows selectedSQL> select a.id,max(b.val_id)
      2  from tab_1 a,tab_2 b
      3  where a.id=b.id
      4  group by a.id
      5  ;        ID MAX(B.VAL_ID)
    ---------- -------------
             1             4
             2             8
             3            12
             4            15
             6            20
      

  2.   

    select a.id,b.maxvalue from 表1 a,(select id,max(col) maxvalue from 表2 group by id) b where a.id=b.id;
      

  3.   

    SELCT A.id,MAX(B.Values)
    FROM A ,B
    WHERE A.id = B.id
    GROUP BY A.id
      

  4.   

    好了,谢谢大家帮忙。还有一问题,在此处说可能比较方便些(不然,再提一个问题,我又的把这些再重复一遍),是这样的:我如何才能知道符合条件的记录总数,因为用:SELCT count(*) FROM A ,B WHERE A.id = B.id GROUP BY A.id 返回的记录数要大于用:SELCT A.id,MAX(B.Values) FROM A ,B WHERE A.id = B.id GROUP BY A.id也就是说这两个语句的返回记录数不同.该问题如何解决? 再次谢谢大家了。
      

  5.   

    有一个笨办法不知是否符你的要求:
    SELECT COUNT(*) FROM (SELECT A.id,MAX(B.Values) 
    FROM A ,B WHERE A.id = B.id GROUP BY A.id)
      

  6.   

    好了,用 skystar99047的办法可以解决记录数的问题