table a;               
userid                 
  1
  2
  3
  5table b;
userid
  1
  2
  3
  5table c;
userid 
  2
  6
  7结果为:
userid
  1
  2
  3
  4
  5
  6
  7sql该如何写?select 
a.userid as x
from a a,b b,c c
where a.userid= b.userid(+) and b.userid = c.userid(+)并不能达到我想要的结果

解决方案 »

  1.   

    你a,b,c 表中都 没有4啊
      

  2.   

    select id
    from a
    unial 
    select id
    from b
    unail 
    select id 
    from c 
      

  3.   

    单词写了错了,应该是 union
      

  4.   

    --用union 
    select id from t1
    union
    select id from t2
    union
    select id from t3
    order by id 
      

  5.   

    select a.userid userid from a 
    union 
    select b.userid userid from b 
    union 
    select c.userid userid from c 
      

  6.   

    用  
    union allselect userid
    from (
    select a.userid as userid
    from a 
    union all
    select b.userid as userid
    from b 
    union all
    select c.userid as userid
    from c)
      

  7.   

    唉,,都怪我表达不完整
    table a;              
    userid  score              
      1      10
      2      10 
      3      20 
      5      10 table b; 
    userid  score
      1      20  
      2      10 
      4      10 
      6      10
      
    table c; 
    userid   score
      2        10
      5        10 
      6        10 
      7        10 结果为: 
    userid   score 
      1        30(计算式a.score+b.score)
      2        30(计算式a.score+b.score+c.score)
      3        20(计算式a.score)
      4        10(计算式b.score)
      5        20(计算式a.score+c.score)  
      6        10(计算式b.score+c.score)
      7        10(计算式c.score)
      

  8.   

    select t.userid sum(t.score) from 
    (select a.userid userid a.score score from a 
    union all
    select b.userid userid b.score score from b 
    union all
    select c.userid userid c.score score from c) t
    group by t.userid order by t.userid
      

  9.   

    select userid,sum(score) from
    (select userid,score from a
     union all
     select userid,score from b
     union all
    select userid,score from c
    ) group by userid order by userid;
      

  10.   

    select userid,sum(score ) score  from (select * from a
    union all
    select * from b
    union all
    select * from c)
    group by userid