有关字典的SQL语句
有关字典的SQL语句如果有一个表,内容如下
基本情况表
序号 姓名 性别 民族
1 张三 01 02
2 李四 02 05
字典
类型 代码 值
1 01 男
1 02 女
2 01 汉
2 02 回
2 03 蒙
2 04 维
2 05 苗
要求一条sql语句返回如下表格
序号 姓名 性别 民族
1 张三 男 回
2 李四 女 苗
这是我写的语句:select 序号, xb.值, mz.值 from 基本情况表,字典表 xb, 字典表 mz where 类型= '1 ' and 性别 = xb.值 and 类型= '2 ' and 民族 = mz.值;
请问如何高效构造此SQL语句?
------解决方案--------------------select a.序号, a.姓名,b.值 as 性别,c.值 as 民族
from 基本情况表 as a
inner join 字典 as b on a.性别=b.代码 and b.类型=1
inner join 字典 as c on a.民族=c.代码 and c.类型=2
------解决方案--------------------用联接方法~~~
select a.序号, a.姓名,b.值 性别,c.值 民族
from 基本情况表 a
inner join 字典 b
on a.性别=b.代码 and b.类型=1
inner join 字典 c
on a.民族=c.代码 and c.类型=2
------解决方案--------------------select a.序号, a.姓名,b.值 性别,c.值 民族
from 基本情况表 a
left outer join 字典 b
on a.性别=b.代码 and b.类型=1
left outer join 字典 c
on a.民族=c.代码 and c.类型=2
------解决方案--------------------select a.序号, a.姓名,b.值 as 性别,c.值 as 民族
from 基本情况表 as a
inner join 字典 as b on a.性别=b.代码 and b.类型=1
inner join 字典 as c on a.民族=c.代码 and c.类型=2
------解决方案--------------------表结构很烂