[英]Update sql temp table column with computational expression
我执行下面的 SQL 代码。 尽管计算表达式不是零,但所有行都以零更新,因为在每种情况下附加信息分母都更大。
UPDATE #t
SET ProportionOfvehicle = (CountOfVehicle / @TotalNumberOfPrivateVehicles)*100
WHERE LegalPersonID IS NOT NULL;
我终于可以自己解决问题了。 我创建了一个临时表,其计算字段的数据类型如下所示
**CREATE TABLE #t
(
CountOfVehicle BIGINT,
LegalPersonID BIGINT,
RegionID BIGINT,
ProportionOfvehicle FLOAT,
ProportionOfAccident FLOAT,
ProportionOfPersonel FLOAT
)**
然后将其插入到除计算字段之外的其他字段,代码如下
**INSERT INTO #t
(
CountOfVehicle,
LegalPersonID,
RegionID,
ProportionOfvehicle,
ProportionOfAccident,
ProportionOfPersonel
)
SELECT COUNT(*) AS CountOfVehicle,
LegalPersonID,
RegionID,
NULL AS ProportionOfvehicle,
NULL AS ProportionOfAccident,
NULL AS ProportionOfPersonel
FROM Bus.VehicleOwnerships
WHERE OwnershipTypeValue IN (1,2)
GROUP BY LegalPersonID,
RegionID**
最后用下面的语句更新计算字段
**UPDATE #t
SET ProportionOfvehicle = CountOfVehicle / @TotalNumberOfOrganizationVehicles
WHERE RegionID IS NOT NUL**
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.