select t1.name,isnull(t1.date,t2.date) as date,t2.out,t1,sale
from 表一 t1,表二 t2
where t1.name*=t2.name我没调试,你试一下大体的思路是通过外连接,并且判断t1.date是否为空,如果为空用t2.date的日期代替
from 表一 t1,表二 t2
where t1.name*=t2.name我没调试,你试一下大体的思路是通过外连接,并且判断t1.date是否为空,如果为空用t2.date的日期代替
name nvarchar(10),
[date] datetime,
sale int
)create table table2(
name nvarchar(10),
[date] datetime,
out int
)
insert table1
select '白钢刀' ,' 2003-12-29', 0
union
select '光介子', ' 2003-12-30', 20
insert table2
select '白钢刀' , '2003-12-29' , 21
union
select '螺母', '2003-12-29', 21
union
select '螺母2', ' 2003-12-29 ', 22
select name,date,sum(sale),sum(out) from
(select name,date,sale,0 out from table1
union
select name,date,'',out from table2) a
group by name ,date
ame date
---------- ------------------------------------------------------ ----------- -----------
白钢刀 2003-12-29 00:00:00.000 0 21
螺母 2003-12-29 00:00:00.000 0 21
螺母2 2003-12-29 00:00:00.000 0 22
光介子 2003-12-30 00:00:00.000 20 0(4 row(s) affected)可以么??
from 表一 t1 full join 表二 t2
on t1.name=t2.name
可使用;
select name,date,sum(sale),sum(out) from
(select name,date,sale,0 out from table1
union
select name,date,'',out from table2) a
group by name ,date