zoukankan      html  css  js  c++  java
  • 多表select count语句生成 带格式化

    #!/bin/sh
    
    max_length=0
    for table_name in `cat tables`
    do
        current_length=$(echo ${table_name}|wc -c)
        if [ ${current_length} -gt ${max_length} ]
        then
            max_length=${current_length}
        fi
    done
    max_length=$((${max_length}-1))
    
    printf "select *
    "
    printf "from (
    "
    cat tables|while read table_name
    do
        printf "    select '%-${max_length}s' as table_name,count(1) as cnt from %-${max_length}s union all
    " ${table_name} ${table_name} 
    done
    printf "    select '%-${max_length}s' as table_name,count(1) as cnt
    " "invaild_column"
    printf ") t1
    "
    printf "where table_name <> 'invaild_column'
    "
    printf "order by table_name
    "
    printf ";
    "
    
    select *
    from (
        select 'table_01 ' as table_name,count(1) as cnt from table_01  union all
        select 'table_02 ' as table_name,count(1) as cnt from table_02  union all
        select 'table_03 ' as table_name,count(1) as cnt from table_03  union all
        select 'invalid_column' as table_name,count(1) as cnt
    ) t1
    where table_name <> 'invalid_column'
    order by table_name
    ;
    
  • 相关阅读:
    Beta 冲刺 (5/7)
    Beta 冲刺 (4/7)
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    BETA 版冲刺前准备
    Alpha事后诸葛(团队)
    设计模式——访问者模式
    设计模式——命令模式
  • 原文地址:https://www.cnblogs.com/chenzechao/p/14173043.html
Copyright © 2011-2022 走看看