sql – 多个FULL OUTER JOIN在多个表上
发布时间:2020-12-12 08:42:59 所属栏目:MsSql教程 来源:网络整理
导读:我有多个外连接 SELECT A.column2,B.column2,C.column2FROM ( (SELECT month,column2 FROM table1) A FULL OUTER JOIN (SELECT month,column2 FROM table2) B on A.month= B.month FULL OUTER JOIN (SELECT month,column2 FROM table3) C on A.month= C.month
我有多个外连接
SELECT A.column2,B.column2,C.column2 FROM ( (SELECT month,column2 FROM table1) A FULL OUTER JOIN (SELECT month,column2 FROM table2) B on A.month= B.month FULL OUTER JOIN (SELECT month,column2 FROM table3) C on A.month= C.month ) 现在最后一次加入是有问题的,当A的月份超过B时重复,但是如果B有更多的月份,那么我们在C中有了外部加载的A,而A的月份现在重复,所以我想在一个FULL OUTER JOIN两个表可能会解决问题?任何深入的链接? 样本数据(不正确) ╔════════════╦═════════╦═════════════╗ ║ Revenue ║ Budget ║ ActualMonth ║ ╠════════════╬═════════╬═════════════╣ ║ 6.9172 ║ 3.5046 ║ Jan ║ ║ 7.3273 ║ 3.7383 ║ Feb ║ ║ 7.3273 ║ 3.9719 ║ Mar ║ ║ 7.2726 ║ 4.2056 ║ Apr ║ ║ 7.2595 ║ 6.7757 ║ May ║ ║ 7.2726 ║ 6.7757 ║ Jun ║ ║ 0.41 ║ 0.00 ║ Jul ║ ║ 0.41 ║ 0.00 ║ Aug ║ ║ 0.41 ║ 0.00 ║ Sep ║ ║ 0.41 ║ 0.00 ║ Oct ║ ║ 7.4696 ║ 0.00 ║ Nov ║ ║ 7.4696 ║ 0.00 ║ Dec ║ ║ 0.00 ║ 9.3457 ║ Sep ║ ║ 0.00 ║ 16.3551 ║ Dec ║ ║ 0.00 ║ 6.3084 ║ Jul ║ ║ 0.00 ║ 14.0186 ║ Oct ║ ║ 0.00 ║ 16.3551 ║ Nov ║ ║ 0.00 ║ 6.1915 ║ Aug ║ ╚════════════╩═════════╩═════════════╝ 数据正确 ╔════════════╦═════════╦═════════════╗ ║ Revenue ║ Budget ║ ActualMonth ║ ╠════════════╬═════════╬═════════════╣ ║ 6.9172 ║ 3.5046 ║ Jan ║ ║ 7.3273 ║ 3.7383 ║ Feb ║ ║ 7.3273 ║ 3.9719 ║ Mar ║ ║ 7.2726 ║ 4.2056 ║ Apr ║ ║ 7.2595 ║ 6.7757 ║ May ║ ║ 7.2726 ║ 6.7757 ║ Jun ║ ║ 0.41 ║ 6.3084 ║ Jul ║ ║ 0.41 ║ 6.1915 ║ Aug ║ ║ 0.41 ║ 9.3457 ║ Sep ║ ║ 0.41 ║ 14.0186 ║ Oct ║ ║ 7.4696 ║ 16.3551 ║ Nov ║ ║ 7.4696 ║ 16.3551 ║ Dec ║ ╚════════════╩═════════╩═════════════╝ 解决方法SELECT A.column2,column2 FROM table3) C on ISNULL(A.month,B.month) = C.month ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |