+ -
当前位置:首页 → 问答吧 → mysql左连接的问题

mysql左连接的问题

时间:2011-07-22

来源:互联网

例如有2张表:
表person如下:
id name identity state
0 zhang 0 0
1 yang 1 0
2 wang 0 1
3 li 1 1

表bm如下
lbid bm sm
01 0 男
01 1 女
02 0 健康
02 1 亚健康
02 2 死亡

如果通过左连接查询,要得到如下结果:
id name sex state
0 zhang 男 健康
1 yang 女 健康
2 wang 男 亚健康
3 li 女 亚健康

我的左连接语句如下:
select id, name, hw_sex.sm, hw_state.sm
from ((person as p
left join bm as hw_sex on( p.identity = hw_sex.bm and hw_identity.lbid = "01"))
left join bm as hw_state on(p.state = hw_state.bm and hw_identity.lbid = "02"))

但是运行怎么老报错呢?如何解决,大家帮忙看看



作者: moviefilm   发布时间: 2011-07-22

已解决,原来是sql语句写错了
改为如下即可
select * from (
select id, 
name, 
hw_sex.sm sex_sm, 
hw_state.sm state_sm
from ((person as p
left join bm as hw_sex on( p.identity = hw_sex.bm and hw_identity.lbid = "01"))
left join bm as hw_state on(p.state = hw_state.bm and hw_state.lbid = "02"))
)
where ....

作者: moviefilm   发布时间: 2011-07-22