首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

update和case组合有关问题

2012-12-14 
update和case组合问题我想实现的功能是,原表sheet1$红一红二红三红四红五红六101112131618491119212617913

update和case组合问题
我想实现的功能是,

原表sheet1$
红一  红二  红三  红四  红五  红六
10   11    12   13   16    18
4    9     11   19   21    26
1    7     9    13   16    32

新表mainT
共33列,分别为red1,red2,red3,red4.....red33

我要实现的功能是,当原表红一的值是10,在新表的ren10列上显示true或1,都可以;当原表红二的值是11,在新表的ren11列上显示true或1;....以此类推

我再sqlserver里面调试的sql语句为:


insert into mainT(red1,red2,red3,red4,red5,red6,red7,red8,red9,red10,
  red11,red12,red13,red14,red15,red16,red17,red18,red19,red20,
  red21,red22,red23,red24,red25,red26,red27,red28,red29,red30,
  red31,red32,red33)
select (case 
 when 红一 = '1' or 红二 = '1' or 红三='1' or 红四='1' or 红五='1' or 红六='1' 
 then mainT.red1=True),
   (case 
 when 红一 = '2' or 红二 = '2' or 红三='2' or 红四='2' or 红五='2' or 红六='2' 
 then mainT.red2=True),
   (case 
 when 红一 = '3' or 红二 = '3' or 红三='3' or 红四='3' or 红五='3' or 红六='3' 
 then mainT.red3=True),
   (case 
 when 红一 = '4' or 红二 = '4' or 红三='4' or 红四='4' or 红五='4' or 红六='4' 
 then mainT.red4=True),
 (case 
 when 红一 = '5' or 红二 = '5' or 红三='5' or 红四='5' or 红五='5' or 红六='5' 
 then mainT.red5=True),
   (case 
 when 红一 = '6' or 红二 = '6' or 红三='6' or 红四='6' or 红五='6' or 红六='6' 
 then mainT.red6=True),
   (case 
 when 红一 = '7' or 红二 = '7' or 红三='7' or 红四='7' or 红五='7' or 红六='7' 
 then mainT.red7=True),
   (case 
 when 红一 = '8' or 红二 = '8' or 红三='8' or 红四='8' or 红五='8' or 红六='8' 
 then mainT.red8=True),
(case 
 when 红一 = '9' or 红二 = '9' or 红三='9' or 红四='9' or 红五='9' or 红六='9' 
 then mainT.red9=True),
   (case 
 when 红一 = '10' or 红二 = '10' or 红三='10' or 红四='10' or 红五='10' or 红六='10' 
 then mainT.red10=True),
(case 
 when 红一 = '11' or 红二 = '11' or 红三='11' or 红四='11' or 红五='11' or 红六='11' 
 then mainT.red11=True),
   (case 
 when 红一 = '12' or 红二 = '12' or 红三='12' or 红四='12' or 红五='12' or 红六='12' 
 then mainT.red12=True),
   (case 
 when 红一 = '13' or 红二 = '13' or 红三='13' or 红四='13' or 红五='13' or 红六='13' 


 then mainT.red13=True),
   (case 
 when 红一 = '14' or 红二 = '14' or 红三='14' or 红四='14' or 红五='14' or 红六='14' 
 then mainT.red14=True),
 (case 
 when 红一 = '15' or 红二 = '15' or 红三='15' or 红四='15' or 红五='15' or 红六='15' 
 then mainT.red15=True),
   (case 
 when 红一 = '16' or 红二 = '16' or 红三='16' or 红四='16' or 红五='16' or 红六='16' 
 then mainT.red16=True),
   (case 
 when 红一 = '17' or 红二 = '17' or 红三='17' or 红四='17' or 红五='17' or 红六='17' 
 then mainT.red17=True),
   (case 
 when 红一 = '18' or 红二 = '18' or 红三='18' or 红四='18' or 红五='18' or 红六='18' 
 then mainT.red18=True),
(case 
 when 红一 = '19' or 红二 = '19' or 红三='19' or 红四='19' or 红五='19' or 红六='19' 
 then mainT.red19=True),
   (case 
 when 红一 = '20' or 红二 = '20' or 红三='20' or 红四='20' or 红五='20' or 红六='20' 
 then mainT.red20=True),
(case 
 when 红一 = '21' or 红二 = '21' or 红三='21' or 红四='21' or 红五='21' or 红六='21' 
 then mainT.red21=True),
   (case 
 when 红一 = '22' or 红二 = '22' or 红三='22' or 红四='22' or 红五='22' or 红六='22' 
 then mainT.red22=True),
   (case 
 when 红一 = '23' or 红二 = '23' or 红三='23' or 红四='23' or 红五='23' or 红六='23' 
 then mainT.red23=True),
   (case 
 when 红一 = '24' or 红二 = '24' or 红三='24' or 红四='24' or 红五='24' or 红六='24' 
 then mainT.red24=True),
 (case 
 when 红一 = '25' or 红二 = '25' or 红三='25' or 红四='25' or 红五='25' or 红六='25' 
 then mainT.red25=True),
   (case 
 when 红一 = '26' or 红二 = '26' or 红三='26' or 红四='26' or 红五='26' or 红六='26' 
 then mainT.red26=True),
   (case 
 when 红一 = '27' or 红二 = '27' or 红三='27' or 红四='27' or 红五='27' or 红六='27' 
 then mainT.red27=True),
   (case 
 when 红一 = '28' or 红二 = '28' or 红三='28' or 红四='28' or 红五='28' or 红六='28' 
 then mainT.red28=True),
(case 
 when 红一 = '29' or 红二 = '29' or 红三='29' or 红四='29' or 红五='29' or 红六='29' 
 then mainT.red29=True),
   (case 
 when 红一 = '30' or 红二 = '30' or 红三='30' or 红四='30' or 红五='30' or 红六='30' 


 then mainT.red30=True),
(case 
 when 红一 = '31' or 红二 = '31' or 红三='31' or 红四='31' or 红五='31' or 红六='31' 
 then mainT.red31=True),
   (case 
 when 红一 = '32' or 红二 = '32' or 红三='32' or 红四='32' or 红五='32' or 红六='32' 
 then mainT.red32=True),
   (case 
 when 红一 = '33' or 红二 = '33' or 红三='33' or 红四='33' or 红五='33' or 红六='33' 
 then mainT.red33=True)
from Sheet1$,mainT


但是报错,“mainT.red1=True”的'=' 附近有语法错误。其他同样问题。请高手帮忙看看。
[最优解释]
select mainT.red1=(case  when 红一 = '1' or 红二 = '1' or 红三='1' or 红四='1' or 红五='1' or 红六='1'  then 'true' end) 

[其他解释]
select mainT.red1=(case   when 红一 = '1' or 红二 = '1' or 红三='1' or 红四='1' or 红五='1' or 红六='1' then 'True'), 其他类推
[其他解释]
http://blog.csdn.net/spritenet/article/details/8109837

我这有双色球所有的数据,你要不?留下邮箱。。。。。。
[其他解释]
select  (case 
 when 红一 = '1' or 红二 = '1' or 红三='1' or 红四='1' or 红五='1' or 红六='1' 
 then '1' else '0' end) as red1, 

这种形式,才运行通过的

热点排行