动态拼接列名,拼接sql语句,执行

解决方案 »

  1.   

    发现可以用navicat这个工具可以分列导出excel数据
     但是还是不知道用代码的话怎么才能方便的写出。、 
      

  2.   

    excel2003最多只有256列,因此使用DTS导出会报错。解决方法:1.安装office2007或者2010;2.在查询分析器中将结果查询出来,然后右键--全选;再右键--连同标题一起复制,再粘贴到excel2007或者2010里面
      

  3.   

    1、使用sql2005进行导出的时候,可以勾选列的。
      

  4.   

    在第三步中自己写sql就行。select  你的前一半列 from 你的表
      

  5.   

    declare @columns varchar(50),@sql varchar(max)
    set @columns=''
    select @columns=@columns + ',' + a.name
    from sys.columns a
    join sys.tables b
    on a.object_id=b.object_id
    where b.name='TableName'
    and a.column_id<100 --此处分列
    set @columns=STUFF(@columns, 1, 1, '')
    set @sql='select '+@columns+' from TableName'
    select @sql
    exec(@sql)
      

  6.   

    导出时向导里数据源不选表选SQL语句,然后语句里写你想要的列
      

  7.   


    谢谢您的回复
      不过我到导出用的就是office2010  还是出现了这样的问题 不知道为什么
      

  8.   


    十分感谢您的回复  由于水平不足看不太懂   请问我直接把【TableName】换成【表名】执行就可以了吗?
      

  9.   


    十分感谢您的回复  由于水平不足看不太懂   请问我直接把【TableName】换成【表名】执行就可以了吗?在studio里面新建查询 有这样的错误:
    消息 102,级别 15,状态 1,第 1 行
    ' ' 附近有语法错误。
    消息 137,级别 15,状态 2,第 12 行
    必须声明标量变量 "@sql"。
      

  10.   


    十分感谢您的回复  由于水平不足看不太懂   请问我直接把【TableName】换成【表名】执行就可以了吗?在studio里面新建查询 有这样的错误:
    消息 102,级别 15,状态 1,第 1 行
    ' ' 附近有语法错误。
    消息 137,级别 15,状态 2,第 12 行
    必须声明标量变量 "@sql"。
    我在sql2005里面执行了这段代码没问题啊
      

  11.   


    十分感谢您的回复  由于水平不足看不太懂   请问我直接把【TableName】换成【表名】执行就可以了吗?在studio里面新建查询 有这样的错误:
    消息 102,级别 15,状态 1,第 1 行
    ' ' 附近有语法错误。
    消息 137,级别 15,状态 2,第 12 行
    必须声明标量变量 "@sql"。
    我在sql2005里面执行了这段代码没问题啊
    看到你的回复我又去执行了一下
    emp表有一个错误  然后换dept表执行成功然后再换emp表也成功
    郁闷~  表明这个语句是正确的。结贴