我有一个与select查询相关的问题。我在这里向下解释。
我有一张包含以下数据的表
**Column1(Primary Key) Column2 Column3**
------ --------- --------------
1 C
2 C
3 Null
4 H
5 L
6 H
我的问题是,对于每次出现的数据“C”,“H”和“L”,我必须用 Column1 的相应值替换 Column3 的值。请提供与此问题相关的查询。如何使用查询或存储过程解决此问题。请详细说明。
我需要最终选择查询结果如下
**Column1(Primary Key) Column2 Column3**
------ --------- --------------
1 C 1
2 C 2
3 Null
4 H 4
5 L 5
6 H 6
答案 0 :(得分:1)
Select Column1, Column2,
CASE
WHEN Column2 is not null THEN Column1
ELSE null --or whatever value you want for blank
END as Column3
From TableName t1
或者你可以这样:
Select Column1, Column2,
CASE
WHEN Column2 = 'L' or Column2 = 'H' or Column2 = 'C' THEN Column1
ELSE null --or whatever value you want for blank
END as Column3
From TableName t1
答案 1 :(得分:0)
你的意思是更新吗?
UPDATE tbl SET Column3 = Column1 WHERE Column2 IN ('C', 'H', 'L', 'F')
或者所有人;
UPDATE tbl SET Column3 = Column1 WHERE Column2 IS NOT NULL
答案 2 :(得分:0)
UPDATE mytable
SET Column3 = Column1
WHERE Column2 in ('C', 'H', 'L')
答案 3 :(得分:-1)
select Column1, Column2, Column1 as Column3 from table
或者我不确定你实际要求的是什么......?
对不起,对不起。不要读那里的所有问题......大多数SQL方言都有办法进行条件子选择,但它们在差异方言中有所不同。那么你使用的是哪种SQL?