2012-06-05 23 views
2

我有2個表,表1和表2選擇,而我使用插入用的if else條件

insert into table1 
( Col1, 
    Col2, 
    Col3 
) 

select 
( ColA, 
    ColB, 
    ColC 
) 
from 
table2 

但COL3和COLC之間的邏輯是這樣的:

if ColC = 'A' then Col3 = Y 
else Col3 = N 

什麼是對SQL這一點,我使用SQL Server 2005的

回答

3

可以使用case表達:

insert into table1 
( Col1, 
    Col2, 
    Col3 
) 

select 
    ColA, 
    ColB, 
    case when ColC = 'A' then 'Y' else 'N' end 
    -- alternatively: 
    -- case ColC when 'A' then 'Y' else 'N' end 
from 
table2 
+2

也可以使用稍微更簡潔的替代案例語法。 「當'A'時'Col'時,然後'Y'else'N'結束時」。不是什麼大不了的事情,只是想我會指出來。 –

+0

正確指出,@BrandonMoore! –

+0

謝謝Jordão! –