日期:2014-05-16  浏览次数:20608 次

请教一条join连接查询的语句
有两个table
表A
id name value
1 a NULL
2 b NULL
3 c NULL
...........
表B
id name
1 a
2 b

我希望用join将两个表连接起来,如果表B里的name在表A存在的话,就将表A相对应的value改成1,不存在的话改成0
即得出的结果为
id name value
1 a 1
2 b 1
3 c 0

我之前都是导成文本做的,现在想直接在数据库操作,但对join不熟,请问sql语句应该怎么写?

------解决方案--------------------
SQL code
select A.id,A.name,if(B.id is null,0,B.id)
from A left join B on A.id =B.id

------解决方案--------------------
update a left join b on a.id =b.id
set a.value=IF(b.id is null,0,1)
------解决方案--------------------
update可以同时多个表的。join道理是一致的。