日期:2014-05-18  浏览次数:20378 次

关于两个表的查记询问题
现在有表1。字段,Id.职员,姓名,部门编号
有表2。部门编号,部门名称。

现在想显示,如下效果
职员,姓名,部门名称(如果该职员还没有部门,则显示为空)
请问sql语句怎么写。谢谢

------解决方案--------------------
select a.职员,a.姓名,b.部门名称 from table1 left join table2 on a.部门编号=b.部门编号
------解决方案--------------------
^-^用LEFT就OK勒~1楼正解~
------解决方案--------------------
select a.职员,a.姓名,部门名称=COALESCE(b.部门名称, ' ') from table1 left join table2 on a.部门编号=b.部门编号

------解决方案--------------------
create table a (pid varchar(10),person varchar(64),dept varchar(10))
go
create table b (did varchar(10),deptmc varchar(64))
go
insert into a values ( '001 ', '员工1 ', ' ')
insert into a values ( '002 ', '员工2 ', '01 ')
insert into a values ( '003 ', '员工3 ', '02 ')

insert into b values ( '01 ', '开发 ')
insert into b values ( '02 ', '测试 ')

select a.pid,a.person,ISNULL(b.deptmc, ' ') AS deptmc from a left join b on a.dept=b.did
------解决方案--------------------
奇怪!!!

为什么你们不使用 INNER JOIN 内连接??

------解决方案--------------------
select 表1.职员,表1.姓名,isnull(表2.部门名称, ' ') as 部门名称 from 表1
left join 表2 on 表1.部门编号 = 表2.部门编号