変数を宣言して、次のことを行いたい:
Select
cast (SUM(case when @Dummy is not null then 1 else 0 end)*1.0/443321 as decimal(10,5)) @Dummy
FROM hellotable
WHERE @Dummy in ("100 different field names in hellotable")
しかし、これは機能していません...助けていただければ幸いです。
変数を宣言して、次のことを行いたい:
Select
cast (SUM(case when @Dummy is not null then 1 else 0 end)*1.0/443321 as decimal(10,5)) @Dummy
FROM hellotable
WHERE @Dummy in ("100 different field names in hellotable")
しかし、これは機能していません...助けていただければ幸いです。
動的SQLでそれをやってみてください..
DECLARE @dummy sysname
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = 'SELECT CAST (SUM(CASE WHEN '+ @Dummy +N' IS NOT NULL THEN 1
ELSE 0
END) * 1.0 / 443321 AS DECIMAL(10, 5)) '+ @Dummy +N'
FROM hellotable
WHERE '+ @Dummy +N' IN ( '' )'
EXEC (@SQL)