0
我是SQL新手。我沒有寫操作,這樣我創建了一個臨時表#temp
,也做了以下內容:使用新創建的列
select
*, round(var1/100,0) as year
from #temp
select
id_bucket, year, sum(b_flag) as num_b
from
#temp
group by
id_bucket, year
order by
id_bucket, year
然後,上面寫着
無效的列名「年」出現錯誤。
這是爲什麼,我該怎麼辦?
'year'是保留字(用於'日期部分()'和'DATENAME()'功能,例如)。將您的列命名爲未保留的內容。該列表位於:https://msdn.microsoft.com/en-us/library/ms189822.aspx。另外,您從表中選擇*年份列,但不會更改表格。它只將該列放入結果集中。 –
您創建的列未在表格中創建。你應該使用[子查詢](https://technet.microsoft.com/en-us/library/ms189575%28v=sql.105%29.aspx)。 – Marshal
包含創建臨時表的SQL代碼可能會有所幫助。 –