高分提问 sql语句一条
来源:百度知道 编辑:UC知道 时间:2024/05/07 03:02:24
表1
单号 项目1
1 A
1 B
2 A
2 B
3 C
==============
表2
单号 项目2
1 A
1 C
2 C
4 A
==============
表3
单号 项目1 项目2
1 A A
1 B
1 C
2 A
2 B
2 C
3 C
4 A
用sql表1和表2,创建出表3,可以利用视图、存储过程等各种方法(表3可以有空值)
刚才表3错了 下面的是对的
表1
单号 项目1
1 A
1 B
2 A
2 B
3 C
==============
表2
单号 项目2
1 A
1 C
2 C
4 A
==============
表3
单号 项目1 项目2
1 A A
1 B NULL
1 NULL C
2 A NULL
2 B NULL
2 NULL C
3 C
4 NULL A
用sql表1和表2,创建出表3,可以利用视图、存储过程等各种方法(表3允许有空)
谢谢大家 不过都不行呀,数据不全,希望
单号 项目1
1 A
1 B
2 A
2 B
3 C
==============
表2
单号 项目2
1 A
1 C
2 C
4 A
==============
表3
单号 项目1 项目2
1 A A
1 B
1 C
2 A
2 B
2 C
3 C
4 A
用sql表1和表2,创建出表3,可以利用视图、存储过程等各种方法(表3可以有空值)
刚才表3错了 下面的是对的
表1
单号 项目1
1 A
1 B
2 A
2 B
3 C
==============
表2
单号 项目2
1 A
1 C
2 C
4 A
==============
表3
单号 项目1 项目2
1 A A
1 B NULL
1 NULL C
2 A NULL
2 B NULL
2 NULL C
3 C
4 NULL A
用sql表1和表2,创建出表3,可以利用视图、存储过程等各种方法(表3允许有空)
谢谢大家 不过都不行呀,数据不全,希望
declare @tb1 table(单号 int, 项目1 varchar(10))
insert into @tb1 select 1,'A'
insert into @tb1 select 1,'B'
insert into @tb1 select 2,'A'
insert into @tb1 select 2,'B'
insert into @tb1 select 3,'C'
declare @tb2 table(单号 int, 项目2 varchar(10))
insert into @tb2 select 1,'A'
insert into @tb2 select 1,'C'
insert into @tb2 select 2,'C'
insert into @tb2 select 4,'A'
select
单号=isnull(a.单号,b.单号)
,a.项目1
,b.项目2
from
@tb1 a
full join
@tb2 b
on
a.单号 = b.单号 and a.项目1=b.项目2
order by
单号
--结果
/*
单号 项目1 项目2
-----------------------------
1 A A
1 NULL C
1 B NULL
2 B NULL
2 A NULL
2 NULL C
3 C NULL
4 NULL A
*/
select * from (select * from 表1) Union All (select * from 表2 ) order by 单号
只是连接查看,就简单的用视图