問題是我試圖插入一些數據到我的SQL服務器數據庫,但由於某種原因,我不斷收到臭名昭着的「無效列名」錯誤,並沒有插入作爲結果。SQL插入 - 消息207無效列名
現在,我相信我知道爲什麼(有點)這種情況正在發生,因爲我試圖插入一個值,該值基於使用案例查詢在另一列中的字段的值,但我不確定我真的這樣做 - 看看代碼:
INSERT INTO dbo.table_name(points, discount)
VALUES
(3, CASE WHEN (points = 6) THEN 0.5 WHEN (points = 12) THEN 1.0 ELSE 0 END
我在「點」列上得到無效的列名稱。這肯定是存在的,所以我認爲我的質疑不正確,或者我應該以不同的方式來解決這個問題?
我正在使用SQL Server 2008 R2 - 不知道這是否有任何區別。
哪裏'(點= 6)'和'(分= 12)'是從哪裏來的?你想參考什麼'點'?我不明白你在這裏做什麼。 – Taryn 2013-03-14 11:42:28
對不起,我想我可能已經有點困惑了......我想要折扣價值爲0,0.5或1.0,具體取決於點數字段的價值,我不知道我做的是正確的事情與案例...... – ChocolateSheep 2013-03-14 11:47:47
但在你的例子中,你插入的每一行的點值爲'3',所以沒有什麼會有'6'或'12'的'points'值。你正在嘗試更新嗎?也許你應該發佈你的表結構的一些示例數據,然後查詢你想要的結果。 – Taryn 2013-03-14 11:50:05