select * from tc_contact a inner join tc_account b on a.account_id = b.account_id我在使用上面的命令导出时,提示 account_id 列重复我最终是想将上述查询结果保存成一个excel2007或者mdb文件,(注记录数超过65536条,所以excel2003是不行的)。请大家帮一下忙,之前许多热心人帮助,可是回复都差不多,诸如:
---------------------------------------------------------------------
/*将SQL SERVER中查询到的数据导成一个Excel文件*/
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P"password"'
参数:S 是SQL服务器名;U是用户;P是密码实例
EXEC master..xp_cmdshell 'bcp his.dbo.tb_test out d:test.xls -c -q -S"DATABASE" -U"sa" -P"password"'/*支持select数据再导出*/
exec master..xp_cmdshell 'bcp " select * from his..t_emp where leave_flag=''N'' " queryout d:\emp.xls -c -U "sa" -P "password"' 
--将数据库his中 表t_emp导出到d:\emp.xls ,即是导出成电子表格文件
-------------------------------------------------------------------以上结果无效-----------
请问,谁有更好的方法吗,谢谢了。

解决方案 »

  1.   

    BCP 你可以导出文本也可以EXCEL。。超过65536 2003的也可以分几个表格啊。思路在这了。自己动手整理一下就成了
      

  2.   

     提示 account_id 列重复问题出在: 你的 *  代表两个表的所有字段。如果确实想查出两个表的所有字段,必须把重复的字段其中一个起个别名。用 导入导出 工具 将你的查询结果导出到 ACCESS里吧。
      

  3.   

    在用导出 功能时,其中第三步 选择 “编写查询以指定要传输的数据”选项,把你的SQL 贴进去 一路下一步就可以了。
      

  4.   

    我这么表述一下吧:我有两个表: 表一字段如下: account_id  account_name account_phone
               表二字段如下: account_id  contact_name  contact_phone我用查询语句:select * from tc_contact a inner join tc_account b on a.account_id = b.account_id查询结果表字段如下:account_id account_name account_phone account_id  contact_name  contact_phone这个结构无法导出,菜虾求解