我有幾個表,其中一個字段用於優先級(1到5)。這裏的問題是,不同的項目使用5最高和1最高,我會協調這一點。用於切換值的SQL語句
我容易選擇是創建一個臨時表和數據在複製和開關作爲該表:
1 - > 5
2 - > 4
3 - > 3
4 - > 2
5 - > 1
我對SQL並不擅長,但感覺應該有一種簡單的方法來將這些值從一個聲明中切換出來,但我確實擔心何時會有大量數據,以及如果一半出了問題,那麼數據就會混亂。
我應該只是去我的臨時表解決方案,或者你應該有一個很好的方式,直接在SQL中做到這一點? (正在使用Oracle 10g)
非常感謝!
你說一些項目 - 所以不要忘記在答案中提供的查詢中添加一個WHERE子句! – Benjol 2009-06-09 11:52:05
如果您擔心解決方案如何工作或者您是否會陷入混亂,首先,不要直接執行解決方案,然後在進行更改之前對數據進行備份。如果你有審計,你可以用它來代替。這樣,如果您發現變化不佳,那麼變更前的信息總是可以逆轉。 – HLGEM 2009-06-09 18:10:43