选择(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语句相加并输出数据库名和相加的值以选项卡健隔开