当前位置: 代码迷 >> Sql Server >> 请问怎么按名称查询其他有关字段并求和
  详细解决方案

请问怎么按名称查询其他有关字段并求和

热度:8   发布时间:2016-04-24 09:54:07.0
请教如何按名称查询其他有关字段并求和
本帖最后由 wuqiwyt 于 2014-10-12 10:13:50 编辑
有下面两个表,表一纳 税 人信息表(dj_nsrxx),表二是申 报 征 收 信息表(sb_zsxx):
 dj_nsrxx



sb_zsxx



实际上两表的记录有上万个。现在如何根据几个特定的纳 税 人 名称来查询显示纳 税 识 别 号、纳 税 人 名称、2014年1-3月申 报日期内的增 值 税 合计、消 费 税 合计、企 业 所 得 税 合计以及税 额 总合计,另外如果 税 额 是负数的不参与合计。因为纳 税 人 名称来自其他部门提供,可能名称不标准例如提供的“大华语广告”,实际是dj_nsrxx中的大华语广告公司。假设其他部门提供的 纳 税 人名称为天宏有限公司、大力有限责任公司、喜洋洋超市、大华语广告,如何写SQL语句能显示上面的结果呢?请教各位大侠了,谢谢!
表一、表二中的字段都可以用字母表示例如纳 税 人 识别号可以用nsrsbh表示,写成汉字是让大家看得直观些。
------解决思路----------------------
SELECT
    nsrsbh
    ,SUM(CASE zsxm_dm WHEN'01'THEN se END) Nsrmc
    ,SUM(CASE zsxm_dm WHEN'03'THEN se END) Zzshj
    ,SUM(CASE zsxm_dm WHEN'04'THEN se END) Qysdshj
    ,SUM(se) [合计]
FROM
    CTE
WHERE
    (nsrmc LIKE '%天宏有限公司%' OR nsrmc LIKE '%大力有限责任公司%' OR nsrmc LIKE '%喜洋洋超市%' OR nsrmc LIKE '%大华语广告%')
    AND se>0
    AND rkrq>='2014-01-01'
    AND rkrq<'2014-04-01'
GROUP BY
    nsrsbh
模糊要用LIKE~
------解决思路----------------------
先把所有公司的各种税收求和都算出来。你要哪个公司的在看看就好了吗。看名称也一看就出来。
select * from (select  纳税人识别号, 征收项目,sum(税额) as sums  from  sb_zsxx as a 
where 税额>0 and 申报日期 between '2014-01-01' and '2014-03-31'
group by  grouping  sets (纳税人识别号,征收项目),(纳税人识别号)) as a join dj_nsrxx as b
on a.纳税人识别号=b.纳税人识别号
  相关解决方案