求一个SQL语句!!! 
A 表
ID NAME
12
13B 表
ID SID
12 z123 
12 3242
12
13 x4523
13 
13 4322
select a.id,b.sid from 表A a,表B b where a.id = b.id and b.id is not null
结果如下:
12 Z123 
12 3242
13 x4523 
13 4322
我希望结果是:
12 Z123 
13 x4523 
或者
12 Z123 
13 4322
或者
12 3242
13 4322
或者
12 3242
13 x4523 如何实现,我比较菜,大家给帮一下!

解决方案 »

  1.   

    如果是随便的话,就以id分组啊,sid取最大或最小都随你。
      

  2.   

    SELECT ID, MAX(SID) AS SID FROM
    (SELECT A.ID, B.SID FROM
    CSDN.TABLEA A
    INNER JOIN
    (SELECT * FROM CSDN.TABLEB WHERE SID IS NOT NULL) B
    ON A.ID = B.ID) C
    GROUP BY ID;
    ---------- --------------------------------------------------
            12 z123
            13 x4523SELECT ID, MIN(SID) AS SID FROM
    (SELECT A.ID, B.SID FROM
    CSDN.TABLEA A
    INNER JOIN
    (SELECT * FROM CSDN.TABLEB WHERE SID IS NOT NULL) B
    ON A.ID = B.ID) C
    GROUP BY ID;
    ---------- --------------------------------------------------
            12 3242
            13 4322还有就是用case来做