テーブルの列名を#COLUMN_NAMES
という一時テーブルにロードしました。私はtempテーブルの各行を下に作成した#Data_Quality_Check
テーブルに渡すwhileループを作成したいと考えています。SQL Serverを使用してWHILEループを構築する方法2014
私のテーブル#Column_names
には現在54行のcolumn_namesがあります。理想的には、whileループで各変数を処理し、出力を#Data_Quality_Check
テーブルに入れたいとします。
if object_id('tempdb..#COLUMN_NAMES') is not null
drop table #COLUMN_NAMES
SELECT COLUMN_NAME AS Column_Names
INTO #COLUMN_NAMES
FROM information_schema.columns
WHERE table_name = 'ssrs_sourcedata'
----- >>>> !!!!!! INSERT CODE TO BUILD WHILE LOOP !!!!
if object_id('tempdb..#DATA_QUALITY_CHECK') is not null
drop table #DATA_QUALITY_CHECK
SELECT
periodenddate,
'@Column_Name' AS Label,
MIN(@Column_Name) AS Min_Value,
MAX(@Column_Name) AS Max_Value,
SUM(@Column_Name) AS Sum_Value,
AVG(@Column_Name) AS Avg_Value,
SUM(Case when @Column_Name IS NULL THEN 1 ELSE 0 END) AS Null_Count,
SUM(Case when len(cast(@Column_Name AS VARCHAR)) = 0 THEN 1 ELSE 0 END) AS Space_Count,
MAX(len(cast(@Column_Name AS VARCHAR))) AS max_length,
MIN(len(cast(@Column_Name AS VARCHAR))) AS min_length
INTO
#DATA_QUALITY_CHECK
FROM
dbcrms.report.ssrs_sourcedata
WHERE
periodenddate = '2017-06-30'
GROUP BY
periodenddate
UDFのように見えるかもしれません。 –