-1
A
回答
1
假设分配“从表中有两列,ID和SAL,30000行,编写一个查询该交换ID = 101和id = 102" ,这样的事情应该工作的工资:
update zz set sal = case id when 101 then (select sal from zz where id = 102)
when 102 then (select sal from zz where id = 101)
end
where id in (101, 102);
编辑:正如他的回答证明由Mottor这个问题,声明CA写得更简洁,如下所示。 (请注意,我更喜欢DECODE使用CASE表达式 - 我认为它更易于阅读和维护。)
update zz x set sal = (select sal from zz where id = case x.id when 101 then 102
when 102 then 101 end)
where id in (101, 102);
2
UPDATE emp x
SET sal =
(SELECT sal
FROM emp
WHERE id = DECODE (x.id, :id1, :id2, :id1))
WHERE id IN (:id1, :id2)
相关问题
- 1. 如何使用单个查询更新两行的交换值
- 2. SQL:交换列值
- 3. 我想更新只有单行列值与回滚提交
- 4. 如何复制多列单列更新
- 5. 无法更新表中的单列值
- 6. GWT CELLTABLE列的单元值更新
- 7. 如何增加更新列的值?
- 8. 如何用查询结果更新单个列的值?
- 9. 如何在单个查询更新多个值的列
- 10. 如何根据另一列的值更新“职级”列的值?
- 11. 如何交换下拉值?
- 12. 如何交换dataTable行值?
- 13. 更新列值
- 14. 更新列值
- 15. 更新列值
- 16. 如何通知动态数据交换(DDE)的任何更新?
- 17. 在MySQL中交换列值
- 18. 如何更改/更新列表视图的单个列表项?
- 19. 如何交换多列
- 20. 如何从值列表更新值的列一组记录
- 21. MySQL更新列值其中更新另一列值(单个查询)
- 22. 更改表单提交值?
- 23. 如何在4天后更新列值?
- 24. 如何在infragistics更新cell更新前的方法更新单元格值
- 25. 如何使用同一行上的两列值更新所有行的单列?
- 26. 如何交换列值和如何使用MYSQL Concat
- 27. 更换列表值
- 28. React交换机上的本机更新多维状态值按
- 29. 带交换值表达式的zend框架更新
- 30. 如何交换和更新SQL中行的顺序?
这是没有意义的。请更具体一些。 – shadow
只是:'update table_name set id = sal,sal = id;' – krokodilko
你需要做什么 - 在两个id之间切换两个薪水?如果桌子上有30,000个ID,你想切换哪个?工作分配是“我给你两个身份证,我希望你在这两个人之间换工资”? – mathguy