update part
set id='1001',re='IT'
from (select id from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]) t
where part.id=t.id
运行上面语句,为什么老是提示:
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

解决方案 »

  1.   

    update a
    set id='1001',re='IT' from part a,
    from (select id from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]) t
    where a.id=t.id
      

  2.   

    update a
    set id='1001',re='IT' from part a,
    (select id from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]) t
    where a.id=t.id这样吗?
      

  3.   


    update part
    set id='1001',re='IT'
    from part as a join  (select id from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$])  as t
    where a.id=t.id
      

  4.   


    在关键字 'where' 附近有语法错误。where 改为 on 也不行啊
      

  5.   


    没有啊,我用distinct查过了,没有重复的
      

  6.   


    update a 
    set a.id='1001',a.re='IT'
    from part a ,OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$] b
    where a.id=b.id
      

  7.   

    update a
    set id='1001',re='IT' from part a,(select id from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]) t
    where a.id=t.id这样呢?
      

  8.   

    结果:
    子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
    晕死
      

  9.   

    update part
    set id='1001',re='IT'
    where part.id in
     (select id from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\xls\part.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]) t