千家信息网

SQL Server 按照分类输出Excel

发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,公司销售部门要统计业务员的客户并按照业务员名字输出Excel,看下面程序--声明需要的变量declare @sql varchar(600),@TypeID varchar(6),@MyName va
千家信息网最后更新 2025年02月13日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安全错误 数据库的锁怎样保障安全 怎样定位软件开发岗位 网络安全和网络工程 vue项目用的是什么服务器 信息网络安全是ei 网络安全阀基本内容涉及 如何更新数据库中的表数据 广西数据库安全审计 贵州贵阳电信服务器 免费服务器选哪个好 虹口区网络技术开发服务报价表 nist数据库不显示东西 江西存储服务器云服务器 思杰网络技术 金融行业相关的网络安全法规 智能互联网络技术专科就业方向 三门峡市大数据局网络安全情况 web服务器可以解析网页吗 阿里云服务器部署微信 软件开发遵守的国家标准 莱芜服务器运维管理系统价格 岳阳软件开发公司哪家强 cf为什么连接服务器慢 沧县网信办开展网络安全宣传月 网络安全及信息安全教育工作 我的世界浙大服务器地形码 连锁餐饮管理软件开发 ADNI数据库中有tau吗 网络技术信息技术网络科技 网络安全试题海南大学 四方数据库只有遥信没遥测
0