选择查询的迭代结果

时间:2010-04-12 15:14:25

标签: sql

我有一个与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

4 个答案:

答案 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?