基本上我有一个与下表具有相似格式的表。SQL UPDATE语句根据另一个现有行更新列
我想要做的就是更新COL4基于这个逻辑
- 如果col2的为null,则与COL3更新COL4
- 如果col2的是不为空,然后找到Col1中该值相匹配的值在Col2中。在COL3
与相应的值更新COL4例如,给定此表:
| Col1 | Col2 | Col3 | Col4 |
-----------------------------
| 1 | 2 | A1 | 2 |
-----------------------------
| 2 | 3 | A2 | 3 |
-----------------------------
| 3 |{null}| A3 |{null}|
更新它是该表
| Col1 | Col2 | Col3 | Col4 |
-----------------------------
| 1 | 2 | A1 | A2 |
-----------------------------
| 2 | 3 | A2 | A3 |
-----------------------------
| 3 |{null}| A3 | A3 |
任何方向将不胜感激!
哪个DB?你试过什么了?你看过CASE声明吗? – Simon 2012-01-30 14:39:39
我使用MySQL 5.1。我已经尝试了类似于SQL Server中更新集的逻辑,但无济于事。我将最终实现一个Case语句,但是我所遇到的问题是在逻辑不为空时执行逻辑 – mattchong 2012-01-30 14:46:40
您能发布您已经尝试过的代码以及它给出的错误吗? – FrustratedWithFormsDesigner 2012-01-30 15:03:27