plsql利用左链接完成三张表的数据合并


SQL语句,写了不少,但一直用的是等于,对于三张表,这边有数据,那边没有,

就会比较麻烦,数据就不全。最开始用穷举解决,很麻烦,现在用左链接省了很多事。

再用存储过程,以前要一天的事(用SQL查出数据,用Excel处理),现在两秒钟就解决了。

过去用三张表(a 、b、c)查询合并成一张表用等于的穷举语句写法:

1、a 有销售、b有销售、c有销售;

2、a有销售、b有销售、c无销售;C对应的字段就用0填充。

3、a有销售、b无销售、c有销售;b对应的字段就用0填充。

4、a有销售、b无销售、c无销售;b、c对应的字段用0填充。

5、a无销售、b有销售、c有销售;a对应的字段就用0填充。

6、a无销售、b有销售、c无销售;a、C对应的字段就用0填充。

7、a无销售、b无销售、c有销售;a、b对应的字段就用0填充。

8、a无销售、b无销售、c无销售;这种情况就可以不用了。

一看就很麻烦,有时还把自己饶晕了。

现在用左链接,写法如下:

1、先把三张表共同的字段取出去掉重复项放进一个临时表;

2、用临时表左链接a表,空值赋值为0;

3、用上面的结果再左链接b表,空值赋值为0;

4、再用上面的结果再左链接C表,空值赋值为0;

再把语句放入过程里,把区域设置为输入参数,在执行过程时直接输入区域,两秒搞定。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM