如何在SQL2000数据库把两张表关联
表1:表2:ID日期金额ID日期金额012014-3-1300012014-3-1100022014-3-1500022014-3-2200032014-3-340004...
表1: 表2:
ID 日期 金额 ID 日期 金额
01 2014-3-1 300 01 2014-3-1 100
02 2014-3-1 500 02 2014-3-2 200
03 2014-3-3 400 04 2014-3-4 600
得出结果如下:
ID 日期 表1金额 表2金额
01 2014-3-1 300 100
02 2014-3-1 500 0
02 2014-3-2 0 200
03 2014-3-3 400 0
04 2014-3-4 0 600 展开
ID 日期 金额 ID 日期 金额
01 2014-3-1 300 01 2014-3-1 100
02 2014-3-1 500 02 2014-3-2 200
03 2014-3-3 400 04 2014-3-4 600
得出结果如下:
ID 日期 表1金额 表2金额
01 2014-3-1 300 100
02 2014-3-1 500 0
02 2014-3-2 0 200
03 2014-3-3 400 0
04 2014-3-4 0 600 展开
1个回答
展开全部
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.日期
isnull(a.金额,0) as 表1金额,
isnull(b.金额,0) as 表2金额
from A
full join B
on a.id=b.id and a.日期=b.日期
更多追问追答
追问
您好,感谢您的回答,解决了我两个表关联的问题,现在客户要求我加多一个表,表3,用ISNULL(a.id,b.id,c.id)就不行了,请问您可以再指点一下吗,财富值不多,我会全部给您,非常感谢!
追答
因为这个需求是full join比较麻烦,需要外面再套一层就好了
4个表5个表都类似这样
代码如下
select isnull(t.id,c.id) as id,isnull(t.日期,c.日期) as 日期,
isnull(t.表1金额,0) as 表1金额,
isnull(t.表2金额,0) as 表2金额,
isnull(c,金额,0) as 表3金额
from (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.日期
) t
full join c
on t.id=c.id and t.日期=c.日期
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询