我编写了一个简单的查询来查找两列的百分比,但我希望结果在只有两位小数的列中。这是我写的,但我遇到了错误,而且我似乎无法修复它。
SELECT Small_Bags, Total_Bags, (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent (Select CAST (Small_Bags_Percent AS DECIMAL (10,2))) FROM Table_Bags WHERE Total_Bags <>0
您不能在同一查询中使用列别名。你可以做到这一点。
select Small_Bags , Total_Bags , (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent , cast(((Small_Bags / Total_Bags) * 100) as decimal(10,2)) from Table_Bags where Total_Bags > 0
或者使用子查询
select t1.Small_Bags, t1.Total_Bags, t1.Small_Bags_Percent , cast(t1.Small_Bags_Percent as decimal(10,2)) from (select Small_Bags , Total_Bags , (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent , cast(((Small_Bags / Total_Bags) * 100) as decimal(10,2)) from Table_Bags where Total_Bags > 0) t1
您不能在同一查询中使用列别名。你可以做到这一点。
或者使用子查询