Java 基于SQL中同一表的第三列,将一列替换为另一列
我有一个表,对于表的一列,我需要根据它与同一表的另一列再次匹配的值,用另一列中的值替换它的值,只要不Java 基于SQL中同一表的第三列,将一列替换为另一列,java,sql,spring-mvc,Java,Sql,Spring Mvc,我有一个表,对于表的一列,我需要根据它与同一表的另一列再次匹配的值,用另一列中的值替换它的值,只要不null 意思是说我有主键为c1的表t1: c1 c2 c3 -------------------------- 1 a null 23 b null 2 c 1 因此,我希望我的结果是: c1 c2 c3
null
意思是说我有主键为c1的表t1
:
c1 c2 c3
--------------------------
1 a null
23 b null
2 c 1
因此,我希望我的结果是:
c1 c2 c3
------------------------------
1 a null
23 b null
2 c a ---->(means the 1 in column c3 is replaced by column c2's
value whose c1's value is 1)
给你:
update t1 set y.c3 = x.c2
from t1 x inner join t1 y on x.c1 = y.c3;
试试这个:
SELECT t.c1,t.c2,(SELECT a.c2 FROM t1 a WHERE a.c1=t.c3) FROM t1 t
1) 请对代码、输入/输出和结构化文档(如HTML或XML)使用代码格式。为此,请选择示例并单击消息发布/编辑表单上方的
{}
按钮。2) 您已经描述了一个问题,但到目前为止还没有提出任何问题(更不用说具体的、可回答的问题了)。你的问题是什么?如果可以总结为“如何基于SQL中同一表的第三列将一列替换为另一列?”请将其包括在内。请在句子开头添加大写字母。也可以用大写字母表示I,缩写和首字母缩略词如JEE或WAR。这使人们更容易理解和帮助。你正在尝试的是所谓的自我加入。将一个表连接到自身,就好像有两个单独的表包含完全相同的数据一样。