插入带有条件的sql

时间:2014-03-08 21:19:27

标签: mysql sql sql-server insert case-when

我尝试应用这篇文章Insert values into table based on condition, sql server中给出的提示来制作一个条件插入,根据属性的3个不同值,从同一个表中为一个数字指定另一个属性。这是我的方法:

insert into tablerel (section, number) 
select
case section
when 'Paris' then tablerel.numseq=0
when 'NY' then tablerel.numseq=1
when 'Tokio' then tablerel.numseq=3
end
from tabledata 
;

PS:section是varchar(5),numseq是数字(1),使用它的原因是为了加快搜索速度

1 个答案:

答案 0 :(得分:0)

您必须选择正确的列数。在这种特殊情况下,我认为您需要选择section本身以及单独的列:

insert into tablerel (section, number) 
select
  section, /* <-- This one */
  case section
  when 'Paris' then '0'
  when 'NY' then '1'
  when 'Tokio' then '3'
  end
from tabledata;