如何在SQL2000数据库把三张表关联
表1:表2:ID日期金额ID日期金额012014-3-1100012014-3-1300022014-3-1500022014-3-2200032014-3-340004...
表1: 表2:
ID 日期 金额 ID 日期 金额
01 2014-3-1 100 01 2014-3-1 300
02 2014-3-1 500 02 2014-3-2 200
03 2014-3-3 400 04 2014-3-4 600
表3:
ID 日期 金额
01 2014-3-1 100
02 2014-3-2 200
05 2014-3-5 800
得出查询结果如下:
ID 日期 表1金额 表2金额 表3金额
01 2014-3-1 300 100 100
02 2014-3-1 500 0 0
02 2014-3-2 0 200 200
03 2014-3-3 400 0 0
04 2014-3-4 0 600 0
05 2014-3-5 0 0 800
以下是高手给的两张表相关联语句,三张表我试了一下行不通,请高手指教!非常感谢!
select isnull(a.id,b.id) as id,isnull(a.日期,b.日期) as 日期,
isnull(a.金额,0) as 表1金额,
isnull(b.金额,0) as 表2金额
from A
full join B
on a.id=b.id and a.日期=b.日期 展开
ID 日期 金额 ID 日期 金额
01 2014-3-1 100 01 2014-3-1 300
02 2014-3-1 500 02 2014-3-2 200
03 2014-3-3 400 04 2014-3-4 600
表3:
ID 日期 金额
01 2014-3-1 100
02 2014-3-2 200
05 2014-3-5 800
得出查询结果如下:
ID 日期 表1金额 表2金额 表3金额
01 2014-3-1 300 100 100
02 2014-3-1 500 0 0
02 2014-3-2 0 200 200
03 2014-3-3 400 0 0
04 2014-3-4 0 600 0
05 2014-3-5 0 0 800
以下是高手给的两张表相关联语句,三张表我试了一下行不通,请高手指教!非常感谢!
select isnull(a.id,b.id) as id,isnull(a.日期,b.日期) as 日期,
isnull(a.金额,0) as 表1金额,
isnull(b.金额,0) as 表2金额
from A
full join B
on a.id=b.id and a.日期=b.日期 展开
1个回答
展开全部
Select A.*,Isnull(表1.金额,0) As 表1金额,Isnull(表2.金额,0) As 表2金额,Isnull(表3.金额,0) As 表3金额 From
(
Select id,日期 From 表1
union
Select id,日期 From 表2
union
Select id,日期 From 表3
) A
Left Join 表1 on A.id=表1.id and a.日期=表1.日期
Left Join 表2 on A.id=表2.id and a.日期=表2.日期
Left Join 表3 on A.id=表2.id and a.日期=表3.日期
(
Select id,日期 From 表1
union
Select id,日期 From 表2
union
Select id,日期 From 表3
) A
Left Join 表1 on A.id=表1.id and a.日期=表1.日期
Left Join 表2 on A.id=表2.id and a.日期=表2.日期
Left Join 表3 on A.id=表2.id and a.日期=表3.日期
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询