我有一個表中有一個字段,稱之爲「分數」。 是否可以編寫一個採用每個「分數」字段中的值的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. SQL Server Native Client API示例
- 3. SQL-Server Unpivot/Pivot示例
- 4. SSIS導入SQL Server中的Excel公式
- 5. 使用REST公開SQL Server數據庫
- 6. SQL Server實例
- 7. SQL Server案例
- 8. SQL Server:高級計算列公式
- 9. Sql Server計算列公式語法
- 10. SQL Server 2008 - 日期函數和公式
- 11. SQL Server:使用選擇案例的值
- 12. SQL Server模式SQL
- 13. SQL:減法公式
- 14. Sql Server 2008的空間數據示例
- 15. 帶有複選框的SQL SERVER示例
- 16. SQL Server用戶實例
- 17. 使用SQL Server Compact 4.0的大規模微型ORM示例
- 18. SQL Server實例ID
- 19. SQL Server 2008實例
- 20. SQL Server:在功能中使用案例
- 21. SQL Server tempdb永久表使用案例
- 22. 使用SQL Server
- 23. 使用SQL Server
- 24. 使用SQL Server
- 25. 使用SQL Server
- 26. 使用SQL Server
- 27. SQL Server Full-Text排名示例
- 28. SQL Server中的校驗和示例說明(T-SQL)
- 29. SQL Server案例輸入表達式
- 30. 使用sql server模式的asp.net會話
感謝所有......不知道這是可能的,我接受了最低分的人,希望沒關係,因爲所有的回答都很棒,謝謝你 – bmw0128 2010-01-27 22:34:42