有3个sql语句
1,select id from A where aa='aa'
2,select sex from B where bb='bb'
3,select name from C where cc='cc'A,B,C3个表满足条件的分别有2,5,3条数据,现在想用一条sql来实现(A,B,C之间没有联系)期待结果:
id   sex   name
01    1    jack
02    0    tom
      0    jone
      1
      1怎么做,请指教!

解决方案 »

  1.   

    A, B, C没有关联的话无法得到你所列出的结果. 
      

  2.   

    Select t1.id,t2.sex,t3.name from
    (Select rownum rn,id   from   A   where   aa='aa' order by id) t1
    full outer join
    (Select rownum rn,sex   from   B   where   bb='bb' order by sex) t2
    on t1.rn=t2.rn
    full outer join
    (Select rownum rn,name   from   C   where   cc='cc' order by name) t3
    on t2.rn=t3.rn
    order by t1.rn,t2.rn,t3.rn
      

  3.   

    刚才测试了一下,上面的句子还是有问题的。正确的,应该是:SELECT T11.ID,T11.SEX,T3.NAME FROM
    (
     SELECT ROWNUM RN,T1.ID,T2.SEX FROM
     (SELECT ROWNUM RN,ID   FROM A WHERE AA='AA' ORDER BY ID) T1
     FULL OUTER JOIN
     (SELECT ROWNUM RN,SEX  FROM B WHERE BB='BB' ORDER BY SEX) T2
     ON T1.RN=T2.RN
     ORDER BY T1.RN,T2.RN
    ) T11
    FULL OUTER JOIN
    (SELECT ROWNUM RN,NAME FROM C WHERE CC='CC' ORDER BY NAME) T3
    ON T11.RN=T3.RN
    ORDER BY T11.RN,T3.RN
      

  4.   

    第一个句子,错误的地方,在C的纪录,超过B,但是少于A的时候,会有点问题。下面的句子,改善了。