日期:2014-05-17  浏览次数:20768 次

请教一个查询方法
有一张人员表,有一个民族和学历的字段,存的是民族的代码和学历的代码,然后又有一张字典表,存的代码对应的具体内容。
比如01表示汉族,211表示初中毕业。
但是人员表里面的代码不能和字典表里面的代码完全匹配。
能否有一个查询,在查询人员表的时候,如果代码匹配的就显示具体的内容,不匹配的就直接显示代码。谢谢!



------解决方案--------------------
人员表 person(名族 minority_code , 学历 education_code)
字典表 contents(代码 code,信息 information)
SQL code
select 
nvl((select information from contents t_c where t_c.code=t_p.minority_code),minority_code),
nvl((select information from contents t_c where t_c.code=t_p.education_code),education_code),
from person t_p