简体   繁体   English

MySQL联合删除零

[英]Mysql union remove zero

I would like to merge two tables,but it removes zero when i used union all in stroeprocedure in mysql. 我想合并两个表,但是当我在mysql的stroeprocedure中使用union all时,它将删除零。

Two tables as the following: 两张表如下:

TBL1:

ID VAL1 VAL2
2    3    3
3    3    0

TBL2 

ID VAL1 VAL2
3   0   3
4   0   4

Select ID,VAL1,VAL2 FROM TBL1
UNION ALL
Select ID,VAL2,VAL2 FROM TBL2;

ERROR RESULT:
   ID VAL1 VAL2
    2    3   3
    3    3    
    3        3
    4        4

RIGHT RESULT:
   ID VAL1 VAL2
    2    3   3
    3    3   0
    3    0   3
    4    0   4

How to keep Zero value when we use union all ? 使用union all时如何保持零值?

Regards, 问候,

try this 尝试这个

     Select ID,IF(VAL1 =0, 0,val1) val1,VAL2 FROM TBL1
    UNION ALL
   Select ID,IF(VAL1 =0, 0,val1) val1,VAL2 FROM TBL2;

DEMO HERE 此处演示

if same thing is with you VAL2 then use also IF(VAL2 =0, 0,val2) val2 for val2 如果您与VAL2有相同的事物,则还将IF(VAL2 =0, 0,val2) val2用于val2

your query looks right look demo http://sqlfiddle.com/#!2/9e0845/2 您的查询看起来正确外观演示http://sqlfiddle.com/#!2/9e0845/2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM