尝试添加具有以下内容的列(总计零件)
ALTER TABLE ADD
语句,但是当我执行查询时,它说我要添加的列是无效的列名,并且我的列未显示在表中。
我有类似的代码在其他地方实现,并且可以正常工作,所以我不知道为什么在这种情况下失败。
我已尝试取出在select语句中引用我的列的代码,以便在ALTER TABLE ADD
语句之前不引用该列,但是那行不通。
DECLARE
@Total_Good_Percent float
SELECT
COUNT(CASE WHEN HMC_Place_Position IS NULL THEN 0 END) AS Parts,
COUNT(*) AS Total_Parts,
COUNT(CASE
WHEN Outfeed_Place_Time IS NOT NULL THEN 1
END) AS Total_Good_Parts, /*Total Good Parts */
(COUNT(Total_Good_Parts)*100 / (Total_Parts))/convert(float,count(*)) AS Total_Good_Percent,
COUNT(CASE
WHEN (Reject_Place_Time IS NOT NULL AND Telesis_Stamp = '') THEN 1
END) AS Total_Rejects, /*Total Rejects */
COUNT(CASE
WHEN (HMC_Place_Position IN (13, 14)) AND (Outfeed_Place_Time IS NOT NULL) THEN 1
END) AS Total_Passed_Remeasures, /*Total Passed Remeasures */
COUNT(CASE
WHEN ((Reject_Place_Time IS NOT NULL) AND (Outfeed_Place_Time IS NULL) AND Infeed_Pick_Time IS NULL) THEN 1
END) AS Total_Failed_Remeasures /*Total Failed Rejects */
FROM PartData_GKN05_H
WHERE Infeed_Pick_Time >= DATEADD(day,-7, GETDATE()) OR (Infeed_Pick_Time is null AND (Reject_Place_Time >= DATEADD(day,-7, GETDATE()) OR Outfeed_Place_Time >= DATEADD(day,-7, GETDATE())))
GROUP BY Total_Good_Parts
ALTER TABLE PartData_GKN05_H Add Total_Passed_Remeasures int
ALTER TABLE PartData_GKN05_H Add Total_Good_Parts int
ALTER TABLE PartData_GKN05_H Add Total_Rejects int
ALTER TABLE PartData_GKN05_H Add Total_Failed_Remeasures int
ALTER TABLE PartData_GKN05_H ADD Total_Parts int
ALTER TABLE PartData_GKN05_H ADD Parts int
ALTER TABLE PartData_GKN05_H ADD Total_Good_Percent float
我也有一个COUNT AS
语句,我相信它应该创建该列,但不会。