请问如何实现两个表头的交叉报表

ppxstar 2009-03-13 11:46:58
例如下图
[img=http://www.vgtech.com.cn/product/images/baob_03.gif]
[/img]

横表和纵表字段最好是动态获得。
...全文
193 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppxstar2 2009-05-12
  • 打赏
  • 举报
回复
我是来给自己接分的
you_tube 2009-03-13
  • 打赏
  • 举报
回复
select  分公司,sum(主动),sum(被动),sum(主动),sum(被动),sum(select count from 表 where a.分公司 = 分公司)
from 表 A
group by 分公司
with rollup;
dawugui 2009-03-13
  • 打赏
  • 举报
回复
使用交叉联接
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:

USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
ORDER BY au_lname DESC

结果集包含 184 行(authors 有 23 行,publishers 有 8 行;23 乘以 8 等于 184)。

不过,如果添加一个 WHERE 子句,则交叉联接的作用将同内联接一样。例如,下面的 Transact-SQL 查询得到相同的结果集:

USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
WHERE authors.city = publishers.city
ORDER BY au_lname DESC

— 或
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors INNER JOIN publishers
ON authors.city = publishers.city
ORDER BY au_lname DESC

ChinaJiaBing 2009-03-13
  • 打赏
  • 举报
回复
什么样的...
dawugui 2009-03-13
  • 打赏
  • 举报
回复
select a.id , b.id from a,b
ppxstar 2009-03-13
  • 打赏
  • 举报
回复

图片打不开了,大概是这样的



主要是想实现两层的表头。
ppxstar 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 you_tube 的回复:]
SQL codeselect 分公司,sum(主动),sum(被动),sum(主动),sum(被动),sum(select count from 表 where a.分公司 = 分公司)
from 表 A
group by 分公司
with rollup;
[/Quote]

主动 被动应当是某字段的值,而不是字段呀!

22,296

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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