日期:2014-05-17  浏览次数:20487 次

标点符号有点乱啊...求指教
SELECT select 商品编码=款号,品名规格=商品#品名,颜色='',计量单位='"件"',单据号=单据编号,客户名称=店仓,单价=成交价,
(case 尺寸#描述 when '4' then 数量  end)as '4',
(case 尺寸#描述 when '5' then 数量  end)as '5',
(case 尺寸#描述 when '6' then 数量  end)as '6',
(case 尺寸#描述 when '7' then 数量  end)as '7',
(case 尺寸#描述 when '8' then 数量  end)as '8',
数量,
金额=数量*成交价,成本金额=''
from tb_daixiao
这是我要的查询结果,我要导出到excel

exec master..xp_cmdshell 'bcp "SELECT * FROM test.dbo.tb_daixiao" out "e:\1.xls" -c -T -S"test" -U"sa" -P"sa"'
这样导出可以,但是复制这些列名就不行了,是不是符号哪不对啊

还有怎么导出来的excel表里没有列标题

------解决方案--------------------
select * into 是把数据集插入一个表,而这个数据集我用union all,把列头和真正的数据拼到一起,也就是说数据的第一行实际上是列名,再导出CSV的时候,就会导出列头。你试试这个:

insert?into?tb_zh?
SELECT *
FROM (
SELECT '商品编码' AS 商品编码,'品名规格' AS 品名规格,'颜色' AS 颜色,'计量单位' AS 计量单位,'单据号' AS 单据号,'客户名称' AS 客户名称,'单价' AS 单价,'数量' AS 数量,
'金额' AS 金额,'成本金额' AS 成本金额
UNION ALL 
select?商品编码=款号,品名规格=商品#品名,颜色='',计量单位='件',单据号=单据编号,客户名称=店仓,单价=成交价,
(case?尺寸#描述?when?'4'?then?数量??end)as?'4',
(case?尺寸#描述?when?'5'?then?数量??end)as?'5',
(case?尺寸#描述?when?'6'?then?数量??end)as?'6',
(case?尺寸#描述?when?'7'?then?数量??end)as?'7',
(case?尺寸#描述?when?'8'?then?数量??end)as?'8',
数量,
金额=数量*成交价,成本金额=''
?
from?tb_daixiao
)a
exec?master..xp_cmdshell?'bcp?"SELECT?*?FROM?test.dbo.tb_zh"?queryout?"e:\1.xls"?-c?-T?-S"test"?-U"sa"?-P"sa"'