i trying create sql code in sql server dynamically selects tables in specific database , each column in each table, counts number of missing values , non-null values. want result inserted table.
is there way can without manually changing column names each:
table name - column selection
i have teradata code same tried convert sql server code. unable dynamic allocation , insertion parts right.
insert temp values (select ''camp'', rtrim(''' || tablename || '''), rtrim(''' || columnname || '''), rtrim(''' || columnformat || '''), count(1), count(rtrim(upper(case when ' || columnname || '='''' null else '|| columnname ||' end))), (cast (count(rtrim(upper(case when ' || columnname || '='''' null else ' || columnname || ' end))) float) / (cast (count(1) float))) * 100, count(distinct rtrim(upper(case when ' || columnname || '='''' null else '|| columnname ||' end))), min(rtrim(upper(case when ' || columnname || '='''' null else '|| columnname ||' end))), max(rtrim(upper(case when ' || columnname || '='''' null else '|| columnname ||' end))), min(len(rtrim(upper(case when ' || columnname || '='''' null else '|| columnname ||' end)))), max(len(rtrim(upper(case when ' || columnname || '='''' null else '|| columnname ||' end)))) ' || tablename ||') any on front great! thanks!
not sure if need union or join, in either case can use three-part name object in other database if using multi-database:
use database1; // database name go create view dbo.myview select columns dbo.table1 union select columns database2.dbo.table2; //second database go select * dbo.myview // getting data view hope helps
Comments
Post a Comment