我有几个表,其中一个字段用于优先级(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