sql语句查询 select id from A where name in(a,b);
如果a 或者b中有一个是查不到对应的id的 所以 这个语句只会返回一个 id 但是我现在的目的是仍然想得到2个id
怎样得到那条没有查到的id呢 ?怎样让他可以默认值为0 或空呢?换个问法就是我有几个name 我就需要得到几个与之对应的id 哪管name查找不到对应的id 谢谢!
分享到:
------解决方案--------------------
select * from a;
--decode函数判断,如果ID不为空则返回ID原值,否则返回-999
select decode(id, null, -999, id)
from a,
(select 'a' as name
from dual
union all
select 'b' as name from dual) t
where a.name(+) = t.name;