表tb_baseinfo
emp_no emp_name depart_no depart_name
01 张三 01 软件部
02 李四 01 软件部
03 王五 01 软件部
04 李六 01 软件部表 tb_workcheck
emp_no emp_name checkresult
01 张三 1
我要得到这样的查询结果:来自表tb_baseinfo 的emp_no emp_name 和来自表tb_workcheck 的checkresult,checkresult有值显示如张三的checkresult 1
没有值 如李四 的checkresult 无值,那么什么都不显示,结果如下:emp_no emp_name checkresult
01 张三 1
02 李四
03 王五
04 李六小弟初学数据库,向大家学习,谢谢帮忙。
emp_no emp_name depart_no depart_name
01 张三 01 软件部
02 李四 01 软件部
03 王五 01 软件部
04 李六 01 软件部表 tb_workcheck
emp_no emp_name checkresult
01 张三 1
我要得到这样的查询结果:来自表tb_baseinfo 的emp_no emp_name 和来自表tb_workcheck 的checkresult,checkresult有值显示如张三的checkresult 1
没有值 如李四 的checkresult 无值,那么什么都不显示,结果如下:emp_no emp_name checkresult
01 张三 1
02 李四
03 王五
04 李六小弟初学数据库,向大家学习,谢谢帮忙。
emp_no emp_name depart_no depart_name
01 张三 01 软件部
02 李四 01 软件部
03 王五 01 软件部
04 李六 01 软件部表 tb_workcheck
emp_no emp_name checkresult
01 张三 1select a.emp_no, a.emp_name,isnull(b.checkresult,' ')as checkresult from
tb_baseinfo a left join tb_workcheck b on a.emp_no=b.emp_no
depart_no varchar(10),depart_name varchar(20))create table tb_workcheck(emp_no varchar(8),emp_name varchar(10),
checkresult varchar(8))insert tb_baseinfo select '01','张三','01','软件部'
union all select '02','李四','01','软件部'
union all select '03','王五','01','软件部'
union all select '04','李六','01','软件部'insert tb_workcheck select '01','张三','1'
select a.emp_no,a.emp_name,b.checkresult from tb_baseinfo a
left join tb_workcheck b on a.emp_no=b.emp_no and a.emp_name=b.emp_name
insert into tb_baseinfo
select '01' , '张三' , ' 01 ' , '软件部' union all select
'02' , '李四' , '01' , '软件部'union all select
'03' , '王五' , ' 01' , '软件部'union all select
'04' , '李六' , '01' , '软件部'select * from tb_baseinfo
create table tb_workcheck
(
emp_no varchar(10) ,
emp_name varchar(10),
checkresult varchar(10),
)insert into tb_workcheck
values(
'01' , '张三' , '1')SELECT * FROM tb_workcheck
select Ltrim(A.emp_no),A.emp_name , ISNULL(Ltrim(B.checkresult),'')
from tb_baseinfo A left join tb_workcheck B
on Ltrim(A.emp_no) = Ltrim(B.emp_no)
01 张三 1
02 李四
03 王五
04 李六
from tb_baseInfo t1,tb_workcheck t2
where t1.emp_no=t2.emp_no
union all
select t3.emp_no,t3.emp_name,'' as checkresult
from tb_baseInfo t3
where not exists(select * from tb_workcheck t4 where t3.emp_no=t4.emp_no)
depart_no varchar(10),depart_name varchar(20))
go
create table tb_workcheck(emp_no varchar(8),emp_name varchar(10),
checkresult varchar(8))
go
insert tb_baseinfo select '01','张三','01','软件部'
union all select '02','李四','01','软件部'
union all select '03','王五','01','软件部'
union all select '04','李六','01','软件部'insert tb_workcheck select '01','张三','1'
select a.emp_no,a.emp_name,isnull(b.checkresult ,'') as checkresult
from tb_baseinfo a
left join tb_workcheck b on a.emp_no=b.emp_no and a.emp_name=b.emp_name/*
emp_no emp_name checkresult
-------- ---------- -----------
01 张三 1
02 李四
03 王五
04 李六 */
drop table tb_baseinfo,tb_workcheck
from tb_baseinfo a
left join tb_workcheck b on a.emp_no=b.emp_no and a.emp_name=b.emp_name
这个最简单的
depart_no varchar(10),depart_name varchar(20))create table tb_workcheck(emp_no varchar(8),emp_name varchar(10),
checkresult varchar(8))insert tb_baseinfo select '01','张三','01','软件部'
union all select '02','李四','01','软件部'
union all select '03','王五','01','软件部'
union all select '04','李六','01','软件部'insert tb_workcheck select '01','张三','1'select a.emp_no,a.emp_name,isnull(b.checkresult,'')
from tb_baseinfo a left join tb_workcheck b
on a.emp_no=b.emp_no
depart_no varchar(10),depart_name varchar(20))
go
create table tb_workcheck(emp_no varchar(8),emp_name varchar(10),
checkresult varchar(8))
go
insert tb_baseinfo select '01','张三','01','软件部'
union all select '02','李四','01','软件部'
union all select '03','王五','01','软件部'
union all select '04','李六','01','软件部'insert tb_workcheck select '01','张三','1'
select a.emp_no,a.emp_name , b.checkresult from tb_baseinfo as a left join tb_workcheck as b on a.emp_no = b.emp_no and a.emp_name = b.emp_name drop table tb_baseinfo,tb_workcheck
depart_no varchar(10),depart_name varchar(20))insert tb_baseinfo
select '01','张三','01','软件部'
union all
select '02','李四','01','软件部'
union all
select '03','王五','01','软件部'
union all
select '04','李六','01','软件部'create table tb_workcheck(emp_no varchar(8),emp_name varchar(10),
checkresult varchar(8))insert tb_workcheck
select '01','张三','1'select a.emp_no,a.emp_name,isnull(b.checkresult,'')as checkresult
from tb_baseinfo a left join tb_workcheck b
on a.emp_no=b.emp_nodrop table tb_baseinfo,tb_workcheck
FROM tb_baseinfo tb_b
LEFT JOIN tb_workcheck tb_w ON tb_b.emp_no=tb_w.emp_no