设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: 鱼儿游游
打印 上一主题 下一主题

[查询] 求助 SQL求和问题

[复制链接]

点击这里给我发消息

1#
发表于 2011-10-2 01:07:23 | 显示全部楼层
本帖最后由 t小宝 于 2011-10-2 01:11 编辑
鱼儿游游 发表于 2011-9-30 13:35
我的要求是这样的结果:
  1. PARAMETERS 年度 Short, 月份 Short;
  2. SELECT 本年本月合计.行业 AS 项目, 本年本月合计.金额之总计 AS 本年本月合计, 本年本月止累计.金额之总计 AS 本年本月止累计, 去年同期月合计.金额之总计 AS 去年同期月合计, 去年同期年累计.金额之总计 AS 去年同期年累计, nz([本年本月合计])-nz([去年同期月合计]) AS 月份对比_增减数,  Format([月份对比_增减数]/nz([本年本月合计]),"0.00%") AS [月份对比_增减%], nz([本年本月止累计])-nz([去年同期年累计]) AS 累计对比_增减数,  Format([累计对比_增减数]/nz([去年同期年累计]),"0.00%") AS [累计对比_增减%]
  3. FROM
  4. (SELECT A表.所在乡镇名, A表.行业, Sum(B表.金额) AS 金额之总计
  5. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  6. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))<=[月份]))
  7. GROUP BY A表.行业, A表.所在乡镇名
  8. UNION ALL SELECT A表.所在乡镇名, A表.所在乡镇名 & "合计", Sum(B表.金额) AS 金额之总计
  9. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  10. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))<=[月份]))
  11. GROUP BY A表.所在乡镇名
  12. UNION ALL SELECT A表.行业 & "合计", A表.行业 & "合计", Sum(B表.金额) AS 金额之总计
  13. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  14. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))<=[月份]))
  15. GROUP BY A表.行业
  16. UNION ALL SELECT "0总计", "总    计", Sum(B表.金额) AS 金额之总计
  17. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  18. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))<=[月份]))) AS 去年同期年累计
  19. RIGHT JOIN
  20. ((SELECT A表.所在乡镇名, A表.行业, Sum(B表.金额) AS 金额之总计
  21. FROM B表 LEFT JOIN A表 ON B表.识别号 = A表.识别号
  22. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))=[月份]))
  23. GROUP BY A表.所在乡镇名, A表.行业
  24. UNION ALL SELECT A表.所在乡镇名, A表.所在乡镇名 & "合计", Sum(B表.金额) AS 金额之总计
  25. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  26. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))=[月份]))
  27. GROUP BY A表.所在乡镇名
  28. UNION ALL SELECT A表.行业 & "合计", A表.行业 & "合计", Sum(B表.金额) AS 金额之总计
  29. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  30. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))=[月份]))
  31. GROUP BY A表.行业
  32. UNION ALL SELECT "0总计", "总    计", Sum(B表.金额) AS 金额之总计
  33. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  34. WHERE (((year([交税日期]))=[年度]-1) and ((Month([交税日期]))=[月份]))) AS 去年同期月合计
  35. RIGHT JOIN
  36. ((SELECT A表.所在乡镇名, A表.行业, Sum(B表.金额) AS 金额之总计
  37. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  38. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))<=[月份]))
  39. GROUP BY A表.行业, A表.所在乡镇名
  40. UNION ALL SELECT A表.所在乡镇名, A表.所在乡镇名 & "合计", Sum(B表.金额) AS 金额之总计
  41. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  42. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))<=[月份]))
  43. GROUP BY A表.所在乡镇名
  44. UNION ALL SELECT A表.行业 & "合计", A表.行业 & "合计", Sum(B表.金额) AS 金额之总计
  45. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  46. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))<=[月份]))
  47. GROUP BY A表.行业
  48. UNION ALL SELECT "0总计", "总    计", Sum(B表.金额) AS 金额之总计
  49. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  50. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))<=[月份]))) AS 本年本月止累计
  51. RIGHT JOIN
  52. ((SELECT A表.所在乡镇名, A表.行业, Sum(B表.金额) AS 金额之总计
  53. FROM B表 LEFT JOIN A表 ON B表.识别号 = A表.识别号
  54. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))=[月份]))
  55. GROUP BY A表.所在乡镇名, A表.行业
  56. UNION ALL SELECT A表.所在乡镇名, A表.所在乡镇名 & "合计", Sum(B表.金额) AS 金额之总计
  57. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  58. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))=[月份]))
  59. GROUP BY A表.所在乡镇名
  60. UNION ALL SELECT A表.行业 & "合计", A表.行业 & "合计", Sum(B表.金额) AS 金额之总计
  61. FROM B表 LEFT JOIN A表 ON B表.识别号=A表.识别号
  62. WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))=[月份]))
  63. GROUP BY A表.行业
  64. UNION ALL SELECT "0总计", "总    计", Sum(金额) AS 金额之总计
  65. FROM B表 WHERE (((year([交税日期]))=[年度]) and ((Month([交税日期]))=[月份]))) AS 本年本月合计
  66. RIGHT JOIN
  67. (SELECT 所在乡镇名, 行业 FROM A表 GROUP BY 所在乡镇名, 行业
  68. UNION ALL SELECT 所在乡镇名, 所在乡镇名 & "合计" FROM A表 GROUP BY 所在乡镇名
  69. UNION ALL SELECT 行业 & "合计", 行业 & "合计" FROM A表 GROUP BY 行业
  70. UNION ALL SELECT TOP 1 "0总计", "总    计" FROM A表 ) AS 名称
  71. ON
  72. (本年本月合计.行业 = 名称.行业) AND (本年本月合计.所在乡镇名 = 名称.所在乡镇名)) ON (本年本月止累计.行业 = 名称.行业) AND (本年本月止累计.所在乡镇名 = 名称.所在乡镇名)) ON (去年同期月合计.行业 = 名称.行业) AND (去年同期月合计.所在乡镇名 = 名称.所在乡镇名)) ON (去年同期年累计.行业 = 名称.行业) AND (去年同期年累计.所在乡镇名 = 名称.所在乡镇名)
  73. ORDER BY 名称.所在乡镇名;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 13:41 , Processed in 0.088340 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表