在项目中遇到一个这样的问题,希望各位能帮助提点意见。问题大致是这样的:数据库中有两张表TABLE1(包括字段name,A,B),TABLE2(包括字段name,C,D),两张表通过字段name来关联。现要计算A+B+C+D的值,可以通过select A+B+C+D from Table1,Table2 where Table1.name=Table2.name来实现,现在遇到这样的问题,假设Table1中有一条记录,name为r1,而Table2中没有name为r1的相应记录,那么就无法计算出A+B+C+D的值了,不知道各位能不能给个好的解决方案,可以在Table2中的记录不存在的时候就以0来处理?不知道小弟的问题描述是否清楚,还请各位指点一下

解决方案 »

  1.   

    select isnull(A,0)+isnull(B,0)+isnull(C,0)+isnull(D,0) from Table1 full joinTable2 onTable1.name=Table2.name
      

  2.   

    select isnull(A,0)+isnull(B,0)+isnull(C,0)+isnull(D,0) from Table1 full join Table2 on Table1.name=Table2.name
      

  3.   

    谢谢,是必须要用full join吧?
      

  4.   

    看情况的,用full join就是考虑两张都有name不存在的情况下,保证都有计算结果
      

  5.   

    谢谢啊,我这里必须要用full join的,帮我解决了个大问题,太感谢了:)