高手,求救!!!!!!!!!!!!!
fi_company_name fi_order_date fi_company_dep fi_credit_channel fi_order_status fi_cxxb fi_order_date_alter
城西别克 2012-08-01 区域 上汽财务 合同 否 2012-08-10
城西别克 2012-08-01 区域 上汽财务 合同 否 2012-08-10
城西别克 2012-08-01 区域 上汽财务 申请 否 2012-08-10
南昌别克 2012-07-30 区域 GMAC 合同 否 2012-08-10
南昌别克 2012-07-29 展厅 GMAC 申请 否 2012-08-10
南昌别克 2012-07-31 展厅 GMAC 合同 否 2012-08-10
南昌别克 2012-07-31 区域 GMAC 申请 否 2012-08-10
南昌雪佛兰 2012-07-29 展厅 GMAC 申请 否 2012-08-10
南昌雪佛兰 2012-07-31 展厅 GMAC 申请 否 2012-08-12
南昌别克 2012-08-01 区域 GMAC 合同 是 2012-08-10
南昌别克 2012-10-01 区域 GMAC 合同 是 2012-08-10
南昌别克 2012-08-02 展厅 GMAC 合同 是 2012-08-10
南昌别克 2012-08-02 展厅 GMAC 申请 否 2012-08-10
南昌别克 2012-08-03 展厅 银行 申请 否 2012-08-10
南昌雪佛兰 2012-08-04 展厅 GMAC 申请 否 2012-08-10
南昌别克 2012-08-04 展厅 GMAC 合同 否 2012-08-10
南昌别克 2012-08-05 电销中心 GMAC 申请 否 2012-08-10
南昌别克 2012-08-08 电销中心 GMAC 申请 否 2012-08-10
南昌别克 2012-08-08 展厅 GMAC 合同 否 2012-08-10
南昌别克 2012-08-08 区域 银行 取消 否 2012-08-10
南昌别克 2012-08-08 展厅 GMAC 合同 是 2012-08-10
南昌雪佛兰 2012-08-09 展厅 GMAC 拒批 否 2012-08-10
南昌别克 2012-08-10 展厅 GMAC 申请 否 2012-08-10
南昌别克 2012-08-10 展厅 GMAC 合同 是 2012-09-10
南昌雪佛兰 2012-08-10 展厅 GMAC 合同 否 2012-08-10
表格,视图代码如下:
SELECT a.fi_company AS 单店, a.fi_plan AS [计划数], year([fi_plan_date]) AS [年份],
month([fi_plan_date]) AS [月份], SUM(CASE WHEN fi_company_dep = '展厅' AND
fi_order_status = '合同' THEN 1 ELSE 0 END) 展厅合同,
SUM(CASE WHEN fi_company_dep = '区域' AND
fi_order_status = '合同' THEN 1 ELSE 0 END) 区域合同,
SUM(CASE WHEN fi_company_dep = '电销中心' AND
fi_order_status = '合同' THEN 1 ELSE 0 END) 电销合同,
SUM(CASE WHEN fi_order_status = '合同' THEN 1 ELSE 0 END) 实际,
达成率 = ltrim(cast(SUM(CASE WHEN fi_order_status = '合同' THEN 1 ELSE 0 END)
* 100.0 / a.[fi_plan] AS decimal(9, 2))) + '%',
SUM(CASE WHEN fi_company_dep = '展厅' AND
fi_order_status = '申请' THEN 1 ELSE 0 END) 展厅申请,
SUM(CASE WHEN fi_company_dep = '展厅' AND
fi_order_status = '拒批' THEN 1 ELSE 0 END) 展厅拒批,
SUM(CASE WHEN fi_company_dep = '展厅' AND
fi_order_status = '取消' THEN 1 ELSE 0 END) 展厅取消,
SUM(CASE WHEN fi_company_dep = '区域' AND
fi_order_status = '申请' THEN 1 ELSE 0 END) 区域申请,
SUM(CASE WHEN fi_company_dep = '区域' AND
fi_order_status = '拒批' THEN 1 ELSE 0 END) 区域拒批,
SUM(CASE WHEN fi_company_dep = '区域' AND
fi_order_status = '取消' THEN 1 ELSE 0 END) 区域取消,
SUM(CASE WHEN fi_company_dep = '电销中心' AND
fi_order_status = '申请' THEN 1 ELSE 0 END) 电销申请,
SUM(CASE WHEN fi_company_dep = '电销中心' AND
fi_order_status = '拒批' THEN 1 ELSE 0 END) 电销拒批,
SUM(CASE WHEN fi_company_dep = '电销中心' AND
fi_order_status = '取消' THEN 1 ELSE 0 END) 电销取消,
SUM(CASE WHEN fi_cxxb = '是' AND fi_order_status = '合同' THEN 1 ELSE 0 END)
促销量
FROM tb_fi_plan a, tb_fi b
WHERE a.fi_company = b.fi_company_name AND year(b.fi_order_date_alter)
= year(GetDate()) AND month(b.fi_order_date_alter) = month(GetDate())
GROUP BY a.fi_company, year(fi_plan_date), month(fi_plan_date), a.fi_plan
为什么求出来的8、9月份南昌别克的数据都是一样的?有谁知道吗?
------解决方案--------------------SQL code
AND year(b.fi_order_date_alter)
= year(GetDate()) AND month(b.fi_order_date_alter) = month(GetDate())
--改简单点吧
and convert(varchar(6),b.fi_order_date_alter,112)=co