当前位置: 代码迷 >> DB2 >> 同一张表里有两个字段关联同一个字典表,该怎么查询
  详细解决方案

同一张表里有两个字段关联同一个字典表,该怎么查询

热度:6222   发布时间:2013-02-26 00:00:00.0
同一张表里有两个字段关联同一个字典表,该如何查询?
比如我的记录表(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
  相关解决方案