2017-02-24 116 views
0

我想知道如果value ='0'是否有機會從另一個表插入表中,那麼import ='no'else import ='yes'Mysql:if else else from one column to another column

現在插入時自動爲'yes'。

我的SQL查詢:

insert into table_3 (name, data, type, value, import) 
select name_batch, data_of_insert, 'File 2', SUM(value), 'yes' 
from table_2 
WHERE data_of_insert > DATE_SUB(now(), INTERVAL 1 SECOND) 
group by name_batch"); 

回答

1

您可以使用CASE

insert into table_3 (name, data, type, value, import) 
select name_batch, data_of_insert, 'File 2', SUM(value), 
    case when SUM(value) = 0 then 'no' else 'yes' end 
from table_2 
where data_of_insert > DATE_SUB(now(), INTERVAL 1 SECOND) 
group by name_batch 

上述工作只有ONLY_FULL_GROUP_BY被禁用。

如果沒有,使用:

insert into table_3 (name, data, type, value, import) 
select name_batch, data_of_insert, 'File 2', SUM(value), 
    case when SUM(value) = 0 then 'no' else 'yes' end 
from table_2 
where data_of_insert > DATE_SUB(now(), INTERVAL 1 SECOND) 
group by name_batch, data_of_insert 
+0

作爲@roy現在甚至不插入日期到表3 –

+0

你得到一個錯誤?怎麼了? – GurV

+0

我想通了:)這是我的專欄名稱上的問題,它的工作完美thx –

0

檢查這一點,如果作品告訴我!

insert into table_3 (name, data, type, value, import) 
select name_batch, data_of_insert, 'File 2', SUM(value), IF(SUM(value)=0, 'no', 'yes') as value 
from table_2 
WHERE data_of_insert > DATE_SUB(now(), INTERVAL 1 SECOND) 
group by name_batch"); 
+0

插入現在沒有工作,到TABLE_3 –

相關問題