5
我检索数据表格3个表格(日期和数量),有些数据可能会重叠,但不确定哪些表。例如一些日子可能 表T1和T2重叠,但不是在T3, 或T2和T3但不是在T1 或T1和T3但不是在T2Sql加入部分重叠数据
如果我执行一次完整参加我结了很多的空值和三个不同的日期列。
我怎样才能得到数据格式: date,qty1, qty2, gty3
其中[date]
将包含所有日期形式3表? 零点将取代所有空值
07/02/2012 || 2 || 0 || 7
CREATE TABLE t1 (
[date] [nvarchar](10)
,qtyt1 [int]
)
CREATE TABLE t2 (
[date] [nvarchar](10)
,qtyt2 [int]
)
CREATE TABLE t3 (
[date] [nvarchar](10)
,qtyt3 [int]
)
insert into t1 values ('05/02/2012', 2)
insert into t1 values ('07/02/2012', 3)
insert into t2 values ('06/02/2012', 4)
insert into t2 values ('08/02/2012', 5)
insert into t3 values ('07/02/2012', 7)
insert into t3 values ('08/02/2012', 11)
select * from t1
full join t2 on t1.date = t2.date
full join t3 on t2.date = t3.date
好奇混合结合并ISNULL ... – ErikE 2012-02-05 20:29:54
@ErikE - 真。我默认为'ISNULL',除非有2个以上的参数或者其他一些理由来选择'COALESCE'。 – 2012-02-05 20:32:15
它的工作原理,谢谢 – witpo 2012-02-05 20:32:19