假设我现在有张表T1,有两个字段ID和Model_Number.表里面有100条数据。 现在假设知道有"M0001" , "M0002", "M0003" 三个Model_Number,其中"M0001" , "M0002"是表T1里面存在的,"M0003"则不存在在表T1里面。现在想用一句select语句返回"M0001" , "M0002", "M0003"三条记录。即无论Model_Number是否存在在表T1里面,在select返回的时候都显示出来。

解决方案 »

  1.   

    select v.Model_Number, T1.ID
    (select 'M0001' as Model_Number from dual
    union all
    select 'M0002' as Model_Number from dual
    union all
    select 'M0003' as Model_Number from dual) v left outer join T1
    on v.Model_Number = T1.Model_Number
      

  2.   

    select T1.ID,a.Model_Number, 
    from
    (select 'M0001' as Model_Number from dual
    union all
    select 'M0002' as Model_Number from dual
    union all
    select 'M0003' as Model_Number from dual)a 
    left outer join T1 on a.Model_Number = T1.Model_Number
      

  3.   


    select distinct Model_Number from
    (
    select Model_Number from t1 where Model_Number in ('M0001' , 'M0002', 'M0003')
    union all
    select 'M0001' as Model_Number 
    union all
    select 'M0002' as Model_Number 
    union all
    select 'M0003' as Model_Number 
    ) t