同一张表里有两个字段关联同一个字典表,该怎么查询
同一张表里有两个字段关联同一个字典表,该如何查询?
比如我的记录表(JLB)这样:
XH YJLX SJLX
1 A B
2 B C
3 C A
字典表(ZDB)
LXDM LX
A 白菜
B 萝卜
C 冬瓜
希望查到的结果是
XH YJLX SJLX
1 白菜 萝卜
2 萝卜 冬瓜
3 冬瓜 白菜
现在我的写法是
select a.XH, b.LX ,(select b.LX from ZDB as b where b.LXDM=a.SJLX) as SJLX
from JLB as a left join ZDB as b on b.LXDM=a.YJLX
这种查询还有更好的写法吗?
------解决方案--------------------
select * from jlb a
left join zdb b on a.yjlx=b.lxdm
left join zdb c on a.sjlx=c.lxdm
------解决方案--------------------
------解决方案--------------------
或者直接
比如我的记录表(JLB)这样:
XH YJLX SJLX
1 A B
2 B C
3 C A
字典表(ZDB)
LXDM LX
A 白菜
B 萝卜
C 冬瓜
希望查到的结果是
XH YJLX SJLX
1 白菜 萝卜
2 萝卜 冬瓜
3 冬瓜 白菜
现在我的写法是
select a.XH, b.LX ,(select b.LX from ZDB as b where b.LXDM=a.SJLX) as SJLX
from JLB as a left join ZDB as b on b.LXDM=a.YJLX
这种查询还有更好的写法吗?
------解决方案--------------------
select * from jlb a
left join zdb b on a.yjlx=b.lxdm
left join zdb c on a.sjlx=c.lxdm
------解决方案--------------------
select a.XH, b.LX,c.LX
from jlb a inner join zdb b on a.yjlx=b.lxdm
inner join zdb c on a.sjlx=c.lxdm
------解决方案--------------------
或者直接
select a.XH, b.LX,c.LX
from jlb a ,zdb b ,zdb c
where a.yjlx=b.lxdm
and a.sjlx=c.lxdm