我有一個表中有一個字段,稱之爲「分數」。 是否可以編寫一個採用每個「分數」字段中的值的SQL,在公式中輸入值,然後將公式的輸出寫入另一個字段。 我沒有經驗在SQL中使用公式,我不知道它是否可能。 任何基本的例子,如果它可行的話,將會有所幫助。示例使用公式的SQL Server SQL
回答
非常模糊的問題,但這裏是一般的想法。
UPDATE MyTable的SET FormulaOutput = HomeScore + AwayScore
這個 「公式」,只是增加了2分在一起
我想你也可以計算出 「傳播」 是這樣的:
UPDATE MyTable SET Spread = MAX(HomeScore,AwayScore) - MIN(HomeScore,AwayScore)
是的,這是可能的,但幾乎總是你不想將計算的字段存儲在數據庫中,因爲這意味着你的數據庫沒有正確的規範化。
而是通過在select語句中包含額外的派生列來查詢它時計算值。
這是一個例外,如果您需要做一個耗時的計算,在這種情況下您可能想要將派生值存儲在數據庫中。一個好的方法是使用觸發器在其中一個輸入發生變化時更新值,或者在定時間隔上運行一個過程以更新整個表中的所有派生值。
計算列可以是持久的,並且索引視圖也是。我不會使用觸發器來確保數據的完整性/一致性。 – Lucero 2010-01-27 22:28:40
這當然是一個選項,但您應該注意,計算列只能使用同一個表中其他列中的值,並且不能包含子查詢。 http://msdn.microsoft.com/en-us/library/ms191250.aspx我指的是'耗費時間的計算',在我看來,它至少暗示*一個子查詢,可能更多。您是否有其他耗時的計算,不需要子查詢?你能給個例子嗎? – 2010-01-27 22:35:40
UPDATE OrderLine SET
TotalPrice = UnitPrice * Quantity
就是這樣。
它被稱爲computed column - 他們的支持:
- 表
- SELECT語句
- 意見
不是將其存儲的,我建議你來計算它實時查詢或作爲computed column或使用indexed view如果性能太慢。
- 1. 使用公式創建SQL Server表
- 2. (MS SQL Server)使用公式設置案例語句列名稱
- 3. SQL Server查詢與「公式」
- 4. SQL-Server Unpivot/Pivot示例
- 5. SQL Server Native Client API示例
- 6. SQL Server插入示例
- 7. SSIS導入SQL Server中的Excel公式
- 8. Sql Server Analysis Services中的DAX公式
- 9. 使用REST公開SQL Server數據庫
- 10. SQL Server實例
- 11. SQL Server案例
- 12. SQL Server實例
- 13. SQL Server 2012公式存儲在哪裏?
- 14. SQL Server:高級計算列公式
- 15. SQL Server 2012中 - 根據公式
- 16. Sql Server計算列公式語法
- 17. SQL Server 2008 - 日期函數和公式
- 18. SQL Server:使用選擇案例的值
- 19. SQL Server模式SQL
- 20. SQL:減法公式
- 21. SQL Server中三值邏輯的示例
- 22. SQL Server 2008的示例數據庫
- 23. 帶有複選框的SQL SERVER示例
- 24. Sql Server 2008的空間數據示例
- 25. 將Excel公式轉換爲SQL案例
- 26. SQL Server用戶實例
- 27. 使SQL Server 2008實例不可見(非公開)
- 28. SQL Server實例ID
- 29. SQL Server 2008實例
- 30. 使用SQL Server Compact 4.0的大規模微型ORM示例
感謝所有......不知道這是可能的,我接受了最低分的人,希望沒關係,因爲所有的回答都很棒,謝謝你 – bmw0128 2010-01-27 22:34:42