2010-04-12 136 views
0

我有一個與select查詢相關的問題。這裏我在下面解釋。Select Query的迭代結果

我有一個表具有以下數據

**Column1(Primary Key)  Column2   Column3** 
------      ---------  -------------- 
1        C 
2        C 
3        Null 
4        H 
5        L 
6        H 

我的問題是我有與列1相應值的數據「C」的每一次出現,以取代值欄3「 H「和」L「。請向我提供與此問題相關的查詢。我怎樣才能解決這個使用查詢或存儲過程。請詳細說明。

我需要最終選擇查詢結果如下

**Column1(Primary Key)  Column2   Column3** 
------      ---------  -------------- 
1        C    1 
2        C    2 
3        Null 
4        H    4 
5        L    5 
6        H    6 

回答

-1

這樣嗎?

select Column1, Column2, Column1 as Column3 from table 

或者我不確定你實際要求什麼..?

啊,對不起。不要讀那裏所有的問題......

大多數SQL方言有辦法做條件子選擇,但它們在不同的方言中是不同的。那麼你使用哪個SQL?

+0

不給他的第3行 – AaronLS 2010-04-12 15:20:57

0

你的意思是更新?

UPDATE tbl SET Column3 = Column1 WHERE Column2 IN ('C', 'H', 'L', 'F') 

或者對於所有;

UPDATE tbl SET Column3 = Column1 WHERE Column2 IS NOT NULL 
+0

@Alexķ:你從哪裏得到正確的結果' 'F'從? – 2010-04-12 15:22:10

+0

@Alex「我需要最終選擇查詢」,「我有一個與選擇查詢有關的問題」 – AaronLS 2010-04-12 15:25:39

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 
+0

非常感謝先生..它幫了我很多...... – user294146 2010-04-12 15:36:25

0
UPDATE mytable 
SET Column3 = Column1 
WHERE Column2 in ('C', 'H', 'L')