千家信息网

SQL Server 按照分类输出Excel

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,公司销售部门要统计业务员的客户并按照业务员名字输出Excel,看下面程序--声明需要的变量declare @sql varchar(600),@TypeID varchar(6),@MyName va
千家信息网最后更新 2026年11月02日SQL Server 按照分类输出Excel

公司销售部门要统计业务员的客户并按照业务员名字输出Excel,看下面程序

--声明需要的变量
declare @sql varchar(600),@TypeID varchar(6),@MyName varchar(10)
--每个业务员要有一个序号(数字型)
select @TypeID=min(ID) from A_CUST
select @MyName =EMPLOYEE_NAME from A_CUST where ID=@TypeID
--当存在满足序号的记录时进行处理
while exists(select 1 from A_CUST where ID=@TypeID)
begin
--拼凑需要执行的语句
set @sql='bcp "select * from (select'+'''CUSTOMER_CODE'''+' AS 客户编码,'+'''CUSTOMER_NAME'''+' AS 客户名称,'+'''CUSTOMER_FULL_NAME'''+' AS 客户全称,'
+'''EMPLOYEE_CODE'''+' AS 工号,'+'''EMPLOYEE_NAME'''+' AS 姓名,'+'''ADDRESS'''+' AS 地址,'+'''TELEPHONE'''+' AS 电话,'+'''CONTACT'''+' AS 联系人'--在xls文件中显示列名
set @sql=@sql+' union all select CUSTOMER_CODE,CUSTOMER_NAME,CUSTOMER_FULL_NAME,EMPLOYEE_CODE,EMPLOYEE_NAME,ADDRESS,TELEPHONE,CONTACT from A_CUST where ID='+cast(@TypeID as varchar(10))+')a" queryout "D:\customer\'+cast(@MyName as varchar(10))+'.xls" -c -q -S"127.0.0.1" -U"sa" -P"密码" -d"数据库名称"'--查询满足条件的记录并保存到xls文件中
--使用xp_cmdshell系统存储过程执行拼凑好的语句(需要使用高级选项开关预先开启cmdshell组件)
exec master..xp_cmdshell @sql
--获得下一个业务员的序号(序号是不连续的)
select @TypeID=isnull(min(ID),@TypeID+1) from A_CUST where ID>=@TypeID+1
select @MyName =EMPLOYEE_NAME from A_CUST where ID=@TypeID
end

下面的程序是根据各表关联生成的视图
drop view A_CUST
create view A_CUST as select CUSTOMER_CODE,CUSTOMER_NAME,CUSTOMER_FULL_NAME,EMPLOYEE_CODE,EMPLOYEE_NAME,d.ADDRESS,d.TELEPHONE,e.CONTACT,A_C.ID from CUSTOMER a
left join CUSTOMER_SALES b ON a.CUSTOMER_BUSINESS_ID = b.CUSTOMER_ID
left join EMPLOYEE c ON b.Owner_Emp = c.EMPLOYEE_ID
left join A_C ON c.EMPLOYEE_CODE = A_C.GH
left join CUSTOMER_ADDRESS d ON b.CUSTOMER_BUSINESS_ID = d.CUSTOMER_BUSINESS_ID
left join CUSTOMER_CONTACT e ON b.CUSTOMER_BUSINESS_ID = e.CUSTOMER_BUSINESS_ID
where a.ApproveStatus = 'Y'

insert into A_C(GH) select EMPLOYEE_CODE from EMPLOYEE

select * from A_C

select from A_CUST where ADDRESS is not null
select
from CUSTOMER where CUSTOMER_CODE = '0080'
select *from CUSTOMER_SALES where CUSTOMER_ID = 'F16DD932-0155-4A9A-4FE9-13BF5CF9277D'

业务 业务员 客户 序号 名称 文件 程序 语句 输出 高级 全称 公司 变量 名字 地址 姓名 密码 工号 数字 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 深圳恒合互联网络科技有限公司 互联网巨头科技公司 互联网金融公司科技 互联网科技作文 致骋互联网科技 壹账通互联网科技 易通互联网络科技有限公司 深圳期待互联网科技 开启互联网科技时代小说 贵州叶脉互联网科技有限公司所属行业 搜狐科技互联网 青海科技产业互联网发展 亳州好赞互联网科技有限公司 科技赋能视角下互联网保险发展 北京市互联网新科技 江苏互联网智能科技软件 互联网科技平台产品运营 华人运通互联网科技公司 银川新华互联网科技学校招聘 互联网的科技 互联网与未来科技 互联网科技咨询 无锡溥仪互联网科技有限公司 须眉科技是互联网公司吗 央行互联网金融科技公司 电子科技大学互联网创业大赛 黑科技 体验场景 互联网大会 互联网金融运营模式中的金融科技 广州全民伙伴互联网科技有限公司
0