我尝试为每个转换行填充每个列的结果,但除第一行外,其他行均给我一个错误。如果我只是做第一个,它也可以按我的意愿工作。
为什么在所引用的视图中已经存在列名的情况下,为什么我在其他错误上出现了?
我只尝试了一条演员表,那很好。
Select
cast ([sum nulls_shipment_id3] as float) / [count Total rows by carriername] *100 as [% NULL id3]
,cast ([sum nulls_shipment_id4] as float) / [count Total rows by carriername] *100 as [%null]
,cast ([EA/AH_REF] as float) / [count Total rows by carriername] *100
From dbo.BAS_CT_DATA_COMPLETENESS_vw1
不起作用(仅当我删除第二和第三强制转换公式时) 如果我使用所有三个强制转换运行它,则会发生以下错误:
错误:
第207层,状态1,第4行,第4行
无效的列名“ sum nulls_shipment_id4”。第207级状态1的状态5行
无效的列名“ EA / AH_REF”。
答案 0 :(得分:0)
cast ([sum nulls_shipment_id3] as float)
对于上面的行,sum函数未正确使用。请修正为:
cast (sum([nulls_shipment_id3]) as float)
另一个问题是:这里-> ,cast ([EA/AH_REF] as float)
,请使用常规方括号,而不要使用方括号,例如:,cast ((EA/AH_REF) as float)
答案 1 :(得分:0)
好吧,我解决了它,因为在col名称上包含“ /”,它也遇到了错误,因此将其重命名,现在可以正常工作了...
Select
cast (nulls_shipment_id3 as float) / (Total_rows_by_carriername) *100 as [% NULL id3]
,cast (nulls_shipment_id4 as float) / (Total_rows_by_carriername) *100 as [%null]
,cast (nulls_EAAH_REF as float) / (Total_rows_by_carriername) *100 as [% NULLEAH]
From dbo.BAS_CT_DATA_COMPLETENESS_vw1