91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 用shell把執行的兩條sql語句相加并輸出數據庫名和相加的值以tab健隔開

用shell把執行的兩條sql語句相加并輸出數據庫名和相加的值以tab健隔開

發布時間:2020-05-27 23:42:09 來源:網絡 閱讀:1766 作者:yht_1990 欄目:數據庫

SELECT SUM(PresentSum) FROM `Lg_ConsumeDetail0` WHERE ConsumeDate < '2016-11-01' AND OpId != 300;

+

SELECT SUM(PresentSum) FROM `Lg_ConsumeDetail1` WHERE ConsumeDate < '2016-11-01' AND OpId != 300;


每次返回的是+號上下兩句sql查詢的和。

注意,有可能其中一句sql返回的是NULL或者報錯信息(沒有這個表)。

格試如下:

輸出結果
數據庫名1   sql1+sql2的和
數據庫名2   sql1+sql2的和
數據庫名3   sql1+sql2的和
...               ...
中間要以tab健隔開 


代碼如下:

#!/bin/bash
USER='root'
PASSWD='123456'
IP='192.168.1.1'
for i in  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
do
  table1=$(mysql -u$USER -p$PASSWD -h$IP $i -e "SELECT SUM(BasicSum) FROM Lg_ConsumeDetail0 WHERE ConsumeDate < '2016-11-01' AND OpId = 300;" | tail -1 | awk '{print $1}')
  table4=$(mysql -u$USER -p$PASSWD -h$IP $i -e 'show tables like "Lg_ConsumeDetail0"' | wc -l)
    
  #判斷存不存在表0,不存在則打印表1的值,跳過本次循環 
  if [ $table4  -eq 0  ];then
       mysql -u$USER -p$PASSWD -h$IP $i -e "SELECT SUM(BasicSum) FROM Lg_ConsumeDetail1 WHERE ConsumeDate < '2016-11-01' AND OpId = 300;" | tail -1 | awk '{print b"\t"$1}'
       continue
  fi  
  table2=$(mysql -u$USER -p$PASSWD -h$IP $i -e 'show tables like "Lg_ConsumeDetail1"' | wc -l) 
  
  #判斷存不存在表1,不存在則打印表0的值,跳過本次循環  
  if [ $table2 -eq 0 ];then
        mysql -u$USER -p$PASSWD -h$IP $i -e "SELECT SUM(BasicSum) FROM Lg_ConsumeDetail0 WHERE ConsumeDate < '2016-11-01' AND OpId = 300;" | tail -1 | awk -vb=$i '{print b"\t"$1}'
        continue
  fi
  table3=$(mysql -u$USER -p$PASSWD -h$IP $i -e "SELECT SUM(BasicSum) FROM Lg_ConsumeDetail1 WHERE ConsumeDate < '2016-11-01' AND OpId = 300;" | tail -1 | awk '{print $1}')
     
  #判斷表1和表0同時為NULL的話,則直接輸出NULL,跳過本次循環  
  if [ $table3 == "NULL" ] && [ $table1 == "NULL" ];then
        echo NULL | awk -vb=$i '{print b"\t"$1}'
        continue
  fi
  
  #判斷表1為NULL的話,則直接輸出表0的值,跳過本次循環  
  if [ $table3 == "NULL" ];then
        mysql -u$USER -p$PASSWD -h$IP $i -e "SELECT SUM(BasicSum) FROM Lg_ConsumeDetail0 WHERE ConsumeDate < '2016-11-01' AND OpId = 300;" | tail -1 | awk -vb=$i '{print b"\t"$1}'
        continue
  fi
  
  #判斷表0為NULL的話,則直接輸出表1的值,跳過本次循環  
  if [ $table1 == "NULL" ];then
        mysql -u$USER -p$PASSWD -h$IP $i -e "SELECT SUM(BasicSum) FROM Lg_ConsumeDetail1 WHERE ConsumeDate < '2016-11-01' AND OpId = 300;" | tail -1 | awk '{print b"\t"$1}'
        continue
  fi
  
  #上面判斷都不存的話,就把表0和表1的值相加輸出
  expr $table1 + $table3  | awk -vb=$i '{print b"\t"$1}' 
done


執行結果如下:

[root@10-9-181-186 opt]# sh sql_sum.sh
tzpay   69768460
tzpay360        23185990
tzpay_179       1259110
tzpay_9377      57750
tzpay_dx2       32938190
tzpay_dx3       33270350
tzpay_dx4       12540690
tzpay_dx5       13220880
tzpay_dx6       NULL
tzpay_lt1       33962100
tzpay_lt2       23586690
tzpay_lt3       10345880
tzpay_lt4       NULL
tzpay_yy        NULL


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼和浩特市| 大连市| 祁门县| 云霄县| 道孚县| 永福县| 临清市| 专栏| 柯坪县| 南岸区| 寻乌县| 定兴县| 深水埗区| 夏津县| 康马县| 六安市| 青海省| 乌拉特后旗| 普格县| 府谷县| 页游| 昆山市| 钟山县| 东城区| 桦甸市| 郯城县| 兴业县| 亚东县| 阿坝县| 广元市| 福安市| 额济纳旗| 乌拉特中旗| 大洼县| 四子王旗| 景谷| 星子县| 阿合奇县| 岑溪市| 涿鹿县| 崇阳县|