使用ALTER TABLE ADD功能添加列时遇到问题

时间:2019-04-15 15:37:25

标签: sql-server

尝试添加具有以下内容的列(总计零件)  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语句,我相信它应该创建该列,但不会。

0 个答案:

没有答案