sql2008 查询语句

qq_42101986 2018-05-17 10:30:42
一共有四张表:1、客户基本信息:2、服务记录明细表;3、订单明细;4产品占有率:通过查询并且赋予相应的分值,查询时提示:消息 207,级别 16,状态 1,第 1 行
列名 '注册资金评分' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 '是否通过ISO认证评分' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 '业内评价评分' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 '资产负债率评分' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 '销售盈利率评分' 无效。
下面是我的查询代码,有没有大佬帮忙看一下!!着急用

use 客户信息管理
go
select 客户名称,客户基本信息.客户ID,产品占有率.产品占有率评分,服务记录明细表.服务评分,订单明细.销售评分,订单明细.订货频率评分,((注册资金评分*0.6+是否通过ISO认证评分*0.4)*0.3+业内评价评分*0.45+(资产负债率评分+0.65+销售盈利率评分*0.35)*0.25)+销售评分*0.4+服务评分*0.25+(订货频率评分*0.6+产品占有率评分*0.4)*0.2 AS 总评分,
注册资金评分=
(case when 客户基本信息.注册资金>=800 then '5'
when 客户基本信息.注册资金<800 and 客户基本信息.注册资金>=600 then '4'
when 客户基本信息.注册资金<600 and 客户基本信息.注册资金>=400 then '3'
when 客户基本信息.注册资金<400 and 客户基本信息.注册资金>=200 then '2'
else 1
end),
是否通过ISO认证评分=
(case when 客户基本信息.是否通过ISO认证='是' then 4
else 2
end),
业内评价评分=
(case when 客户基本信息.业内评价='优秀' then 5
when 客户基本信息.业内评价='良好' then 4
when 客户基本信息.业内评价='一般' then 2
else 1
end),
资产负债率评分=
(case when 客户基本信息.资产负债率<='10%' then 5
when 客户基本信息.资产负债率>'10%' and 客户基本信息.资产负债率<='15%' then 4
when 客户基本信息.资产负债率>'15%' and 客户基本信息.资产负债率<='20%' then 3
when 客户基本信息.资产负债率>'20%' and 客户基本信息.资产负债率<='25%' then 2
else 1
end),
销售盈利率评分=
(case when 客户基本信息.销售盈利率>='30%' then 5
when 客户基本信息.销售盈利率<'30%' and 客户基本信息.销售盈利率>='25%' then 4
when 客户基本信息.销售盈利率<'25%' and 客户基本信息.销售盈利率>='20%' then 3
when 客户基本信息.销售盈利率<'20%' and 客户基本信息.销售盈利率>='15%' then 2
else 1
end)
from 客户基本信息
join (select 客户ID,
'产品占有率评分'=
case when 产品占有率.产品占有率>='80%' then 5
when 产品占有率.产品占有率<'80%' and 产品占有率.产品占有率>='60%' then 4
when 产品占有率.产品占有率<'60%' and 产品占有率.产品占有率>='40%' then 3
when 产品占有率.产品占有率<'40%' and 产品占有率.产品占有率>='20%' then 2
else 1
end
from 产品占有率)产品占有率
on 客户基本信息.客户ID=产品占有率.客户ID
join (select 客户ID,SUM(服务记录明细表.服务费用) as 总费用,SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表) as 服务占比,
服务评分=
case when SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)>='30' then 1
when SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)<'30' and SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)>='15' then 2
when SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)<'15' and SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)>='8' then 3
when SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)<'8' and SUM (服务记录明细表.服务费用)*100/(select SUM(服务记录明细表.服务费用) from 服务记录明细表)>='4' then 4
else 5
end
from 服务记录明细表
group by 服务记录明细表.客户ID)服务记录明细表
on 客户基本信息.客户ID=服务记录明细表.客户ID
join (select 订单明细.客户ID,SUM(订单明细.利润) as 总利润,SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细) as 订单占比,
销售评分=
(case when SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细)>='25' then 5
when SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细) <'25' and SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细)>='15' then 4
when SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细) <'15' and SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细)>='8' then 3
when SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细) <'8' and SUM (订单明细.利润)*100/(select SUM(订单明细.利润) from 订单明细)>='4' then 2
else 1
end),
订货频率评分=
(case when COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)>=4 then 5
when COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)<4 and COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)>=3 then 4
when COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)<3 and COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)>=2 then 3
when COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)<2 and COUNT(订单明细.客户ID)/(DATEDIFF(MM,MIN(订单明细.订货时间),MAX(订单明细.订货时间))+1)>=1 then 2
else 1
end )
from 订单明细
group by 订单明细.客户ID)订单明细
on 客户基本信息.客户ID=订单明细.客户ID
...全文
280 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2018-05-17
  • 打赏
  • 举报
回复
SELECT 客户名称, 客户基本信息.客户ID, 产品占有率.产品占有率评分, 服务记录明细表.服务评分, 订单明细.销售评分, 订单明细.订货频率评分, (((CASE WHEN 客户基本信息.注册资金 >= 800 THEN '5' WHEN 客户基本信息.注册资金 < 800 AND 客户基本信息.注册资金 >= 600 THEN '4' WHEN 客户基本信息.注册资金 < 600 AND 客户基本信息.注册资金 >= 400 THEN '3' WHEN 客户基本信息.注册资金 < 400 AND 客户基本信息.注册资金 >= 200 THEN '2' ELSE 1 END ) * 0.6 + (CASE WHEN 客户基本信息.是否通过ISO认证 = '是' THEN 4 ELSE 2 END ) * 0.4 ) * 0.3 + (CASE WHEN 客户基本信息.业内评价 = '优秀' THEN 5 WHEN 客户基本信息.业内评价 = '良好' THEN 4 WHEN 客户基本信息.业内评价 = '一般' THEN 2 ELSE 1 END ) * 0.45 + ((CASE WHEN 客户基本信息.资产负债率 <= '10%' THEN 5 WHEN 客户基本信息.资产负债率 > '10%' AND 客户基本信息.资产负债率 <= '15%' THEN 4 WHEN 客户基本信息.资产负债率 > '15%' AND 客户基本信息.资产负债率 <= '20%' THEN 3 WHEN 客户基本信息.资产负债率 > '20%' AND 客户基本信息.资产负债率 <= '25%' THEN 2 ELSE 1 END ) + 0.65 + (CASE WHEN 客户基本信息.销售盈利率 >= '30%' THEN 5 WHEN 客户基本信息.销售盈利率 < '30%' AND 客户基本信息.销售盈利率 >= '25%' THEN 4 WHEN 客户基本信息.销售盈利率 < '25%' AND 客户基本信息.销售盈利率 >= '20%' THEN 3 WHEN 客户基本信息.销售盈利率 < '20%' AND 客户基本信息.销售盈利率 >= '15%' THEN 2 ELSE 1 END ) * 0.35 ) * 0.25 ) + 销售评分 * 0.4 + 服务评分 * 0.25 + (订货频率评分 * 0.6 + 产品占有率评分 * 0.4) * 0.2 AS 总评分, 注册资金评分 = (CASE WHEN 客户基本信息.注册资金 >= 800 THEN '5' WHEN 客户基本信息.注册资金 < 800 AND 客户基本信息.注册资金 >= 600 THEN '4' WHEN 客户基本信息.注册资金 < 600 AND 客户基本信息.注册资金 >= 400 THEN '3' WHEN 客户基本信息.注册资金 < 400 AND 客户基本信息.注册资金 >= 200 THEN '2' ELSE 1 END ), 是否通过ISO认证评分 = (CASE WHEN 客户基本信息.是否通过ISO认证 = '是' THEN 4 ELSE 2 END ), 业内评价评分 = (CASE WHEN 客户基本信息.业内评价 = '优秀' THEN 5 WHEN 客户基本信息.业内评价 = '良好' THEN 4 WHEN 客户基本信息.业内评价 = '一般' THEN 2 ELSE 1 END ), 资产负债率评分 = (CASE WHEN 客户基本信息.资产负债率 <= '10%' THEN 5 WHEN 客户基本信息.资产负债率 > '10%' AND 客户基本信息.资产负债率 <= '15%' THEN 4 WHEN 客户基本信息.资产负债率 > '15%' AND 客户基本信息.资产负债率 <= '20%' THEN 3 WHEN 客户基本信息.资产负债率 > '20%' AND 客户基本信息.资产负债率 <= '25%' THEN 2 ELSE 1 END ), 销售盈利率评分 = (CASE WHEN 客户基本信息.销售盈利率 >= '30%' THEN 5 WHEN 客户基本信息.销售盈利率 < '30%' AND 客户基本信息.销售盈利率 >= '25%' THEN 4 WHEN 客户基本信息.销售盈利率 < '25%' AND 客户基本信息.销售盈利率 >= '20%' THEN 3 WHEN 客户基本信息.销售盈利率 < '20%' AND 客户基本信息.销售盈利率 >= '15%' THEN 2 ELSE 1 END ) FROM 客户基本信息 JOIN ( SELECT 客户ID, '产品占有率评分' = CASE WHEN 产品占有率.产品占有率 >= '80%' THEN 5 WHEN 产品占有率.产品占有率 < '80%' AND 产品占有率.产品占有率 >= '60%' THEN 4 WHEN 产品占有率.产品占有率 < '60%' AND 产品占有率.产品占有率 >= '40%' THEN 3 WHEN 产品占有率.产品占有率 < '40%' AND 产品占有率.产品占有率 >= '20%' THEN 2 ELSE 1 END FROM 产品占有率 ) 产品占有率 ON 客户基本信息.客户ID = 产品占有率.客户ID JOIN ( SELECT 客户ID, SUM(服务记录明细表.服务费用) AS 总费用, SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) AS 服务占比, 服务评分 = CASE WHEN SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) >= '30' THEN 1 WHEN SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) < '30' AND SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) >= '15' THEN 2 WHEN SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) < '15' AND SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) >= '8' THEN 3 WHEN SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) < '8' AND SUM(服务记录明细表.服务费用) * 100 / ( SELECT SUM(服务记录明细表.服务费用) FROM 服务记录明细表 ) >= '4' THEN 4 ELSE 5 END FROM 服务记录明细表 GROUP BY 服务记录明细表.客户ID ) 服务记录明细表 ON 客户基本信息.客户ID = 服务记录明细表.客户ID JOIN ( SELECT 订单明细.客户ID, SUM(订单明细.利润) AS 总利润, SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) AS 订单占比, 销售评分 = (CASE WHEN SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) >= '25' THEN 5 WHEN SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) < '25' AND SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) >= '15' THEN 4 WHEN SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) < '15' AND SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) >= '8' THEN 3 WHEN SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) < '8' AND SUM(订单明细.利润) * 100 / ( SELECT SUM(订单明细.利润) FROM 订单明细 ) >= '4' THEN 2 ELSE 1 END ), 订货频率评分 = (CASE WHEN COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) >= 4 THEN 5 WHEN COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) < 4 AND COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) >= 3 THEN 4 WHEN COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) < 3 AND COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) >= 2 THEN 3 WHEN COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) < 2 AND COUNT(订单明细.客户ID) / (DATEDIFF(MM, MIN(订单明细.订货时间), MAX(订单明细.订货时间)) + 1) >= 1 THEN 2 ELSE 1 END ) FROM 订单明细 GROUP BY 订单明细.客户ID ) 订单明细 ON 客户基本信息.客户ID = 订单明细.客户ID;

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧