用外壳把执行的两条sql语句相加并输出数据库名和相加的值以选项卡健隔开

  

选择(PresentSum)和“Lg_ConsumeDetail0”ConsumeDate & lt;“2016-11-01”和OpId !=300;

+

从“Lg_ConsumeDetail1”选择(PresentSum)和ConsumeDate & lt;“2016-11-01”和OpId !=300;


每次返回的是+号上下两句sql查询的和。

注意,有可能其中一句sql返回的是零或者报错信息(没有这个表)。

格试如下:

输出结果
数据库名1,,,sql1 + sql2的和
数据库2名,,,sql1 + sql2的和
数据库3名,,,sql1 + sql2的和
…,,,,,,,,,,,,,,,…
中间要以选项卡健隔开,


代码如下:

# !/bin/bash   用户=案?   PASSWD=' 123456 '   IP=' 192.168.1.1 '   for 小姐:拷贝,tzpay  tzpay360  tzpay_179  tzpay_9377  tzpay_dx2  tzpay_dx3  tzpay_dx4  tzpay_dx5  tzpay_dx6  tzpay_lt1  tzpay_lt2  tzpay_lt3  tzpay_lt4  tzpay_yy   做   表1=$才能(mysql  - u USER 美元;- p PASSWD 美元;- h IP 美元;美元小姐:-e “SELECT 和(BasicSum),得到Lg_ConsumeDetail0  WHERE  ConsumeDate  & lt;,“2016-11-01”,以及OpId =, 300;”, |, tail  1, |, awk “{print  1美元}”)   table4才能=$ (mysql  - u USER 美元;- p PASSWD 美元;- h IP 美元;美元小姐:-e “show  tables  like “Lg_ConsumeDetail0”, |, wc  - l)   ,,,,   #才能判断存不存在表0,不存在则打印表1的值,跳过本次循环,   if 才能;[,table4 美元;-eq  0,,);   ,,,,,,mysql  USER 美元- u - p PASSWD 美元;- h IP 美元;美元小姐:-e “SELECT 和(BasicSum),得到Lg_ConsumeDetail1  WHERE  ConsumeDate  & lt;,“2016-11-01”,以及OpId =, 300;”, |, tail  1, |, awk “{print  b " \ t " $ 1}”   ,,,,,,继续   ,,fi    表二才能=$ (mysql  - u USER 美元;- p PASSWD 美元;- h IP 美元;美元小姐:-e “show  tables  like “Lg_ConsumeDetail1”, |, wc  - l),   ,,   #才能判断存不存在表1,不存在则打印表0的值,跳过本次循环,,   if 才能;[,table2 美元;-eq  0,);   ,,,,,,,mysql  USER 美元- u - p PASSWD 美元;- h IP 美元;美元小姐:-e “SELECT 和(BasicSum),得到Lg_ConsumeDetail0  WHERE  ConsumeDate  & lt;,“2016-11-01”,以及OpId =, 300;”, |, tail  1, |, awk  vb=$小姐:“{print  b " \ t " $ 1}”   ,,,,,,,继续   fi才能   table3才能=$ (mysql  - u USER 美元;- p PASSWD 美元;- h IP 美元;美元小姐:-e “SELECT 和(BasicSum),得到Lg_ConsumeDetail1  WHERE  ConsumeDate  & lt;,“2016-11-01”,以及OpId =, 300;”, |, tail  1, |, awk “{print  1美元}”)   ,,,,   #才能判断表1和表0同时为零的话,则直接输出空,跳过本次循环,,   if 才能;[,table3 美元;==,“零”,),,,,(,table1 美元;==,“零”,);   ,,,,,,,echo  NULL  |, awk  vb=$小姐:“{print  b " \ t " $ 1}”   ,,,,,,,继续   fi才能   ,,   #才能判断表1为零的话,则直接输出表0的值,跳过本次循环,,   if 才能;[,table3 美元;==,“零”,);   ,,,,,,,mysql  USER 美元- u - p PASSWD 美元;- h IP 美元;美元小姐:-e “SELECT 和(BasicSum),得到Lg_ConsumeDetail0  WHERE  ConsumeDate  & lt;,“2016-11-01”,以及OpId =, 300;”, |, tail  1, |, awk  vb=$小姐:“{print  b " \ t " $ 1}”   ,,,,,,,继续   fi才能   ,,   #才能判断表0为零的话,则直接输出表1的值,跳过本次循环,,   if 才能;[,table1 美元;==,“零”,);   ,,,,,,,mysql  USER 美元- u - p PASSWD 美元;- h IP 美元;美元小姐:-e “SELECT 和(BasicSum),得到Lg_ConsumeDetail1  WHERE  ConsumeDate  & lt;,“2016-11-01”,以及OpId =, 300;”, |, tail  1, |, awk “{print  b " \ t " $ 1}”   ,,,,,,,继续   fi才能   ,,   #上才能面判断都不存的话,就把表0和表1的值相加输出   expr 才能;table1 美元+,table3 美元;,|,awk  vb=$小姐:“{print  b " \ t " $ 1}”,   以前做


执行结果如下:

[root@10 - 9 - 181 - 186,选择]#,sh  sql_sum.sh   tzpay ,, 69768460   tzpay360 ,,,,,,, 23185990   tzpay_179 ,,,,,, 1259110   tzpay_9377 ,,,,, 57750   null   null   null   null   null   null   null   null   null   null

用外壳把执行的两条sql语句相加并输出数据库名和相加的值以选项卡健隔开