表A     ID     NAME     VALUE
        1      A        001
        2      A        002
        3      A        021
        4      B        001
        5      A        002
表B     ID     NAME     VALUE
        1      A        011
        2      B        018
        3      A        002
        4      B        001我想查出两个表中所有NAME=‘A’的记录,记录可以重复查询得: ID     NAME     VALUE
        1      A        001
        2      A        002
        3      A        021
        4      A        002
        5      A        001
        6      A        002还想查出两个表中所有NAME='B'的记录,记录不重复查询得   ID     NAME     VALUE
        1      B        001
        2      B        018

解决方案 »

  1.   

    select rownum, c.* from (select name from A union all select name from b) c where c.name = 'A'select rownum, c.* from (select name from A union select name from b) c where c.name = 'B'
    union all就可以查出来重复的记录union查出来的是不重复的记录
      

  2.   


    这样查出来的 就只有一条 NAME = ‘A’ 的记录 ……
    结果是:   ID    NAME   
              1     A
      

  3.   

    我觉得你是不是检查下你的数据select rownum, c.* from (select name from A union all select name from b) c where c.name = 'A'  红色部分相当于查出了表里的所有数据我这里造了几条数据是好的啊
      

  4.   

    select rownum, c.* from (select name, value from A union all select name, value from b) c where c.name = 'A'   在name后面加上value就行了就有你关注的value的值了
      

  5.   


    我这里查到的是这个样子的ID         NAME   
     1          A
     2          A
     .          .
     .          .
     .          . 
     4000       A
    但是我更关心的是 VALUE的值, 你那VALUE的 值也显示出来了吗?