如下
C表记录
----------------------------------------
cid  |aid  |bid
1    |1    |1
2    |1    |2
3    |2    |1
现在要查询出 bid 是 1,2的结果
出来的结果是
cid  |aid  |bid
1    |1    |1
2    |1    |2
3    |2    |1
aid重复了
要怎么查询可以去掉重复的aid,得到如下结果
cid  |aid  |bid
1    |1    |1
3    |2    |1aid在结果中要是唯一的

解决方案 »

  1.   

    麻烦你把问题写清楚点,你的A,B,C,表中的数据是怎么样的?要得到什么样的结果?
      

  2.   

    试试select * from c distinct aid;
      

  3.   


    SQL> SELECT * FROM C;       CID        AID        BID
    ---------- ---------- ----------
             1          1          1
             2          1          2
             3          2          1SQL> SELECT CID,AID,BID FROM (SELECT CID,AID,BID,ROW_NUMBER()OVER(PARTITION BY AID ORDER BY AID) ORD FROM C ) TBL
      2  WHERE TBL.ORD=1;       CID        AID        BID
    ---------- ---------- ----------
             1          1          1
             3          2          1
      

  4.   

    cid  |aid  |bid
    1    |1    |1
    2    |1    |2
    3    |2    |1
    aid重复了
    要怎么查询可以去掉重复的aid,得到如下结果
    cid  |aid  |bid
    1    |1    |1
    3    |2    |1
    为什么不能这样?
    cid  |aid  |bid
    1    |1    |2
    3    |2    |1
      

  5.   

    用distinct对aid进行限制不就可以了
      

  6.   

    distinct 不可以的
    试过了