gpt4 book ai didi

sql - 我将如何为附加报告编写 SQL?

转载 作者:行者123 更新时间:2023-11-29 12:46:53 24 4
gpt4 key购买 nike

我们正在从数据系统转移到另一个。我不得不重写一些报告新系统有一个自定义报告模块,您可以在其中编写查询并将其粘贴到窗口中并将其推送给最终用户。我有一份所有用户都在请求的报告,但我不知道如何编写。

它按年级、性别和种族分割了学校人口。见附件。

enter image description here

我写了这篇按年级分割人口的文章,但不确定从这里到哪里去。

SELECT
gl.title as Grade,
COUNT (s.student_id)
FROM
students s,
student_enrollment se,
school_gradelevels gl
WHERE
s.student_id = se.student_id
AND se.school_id=gl.school_id
AND se.grade_id=gl."id"
AND se.syear =2012
AND se.end_date IS NULL
AND se.school_id =10

group by gl.title

order by Grade;

作为引用,性别是 s.gender,种族是 s.race。我想知道我们是否需要购买像 Crystal Reports 这样的报告软件。

最佳答案

没有数据示例,因此可以假定针对学生捕获了性别和种族信息。

你想要做的是得到一个看起来像这样的初始表:

GradeLevel   |   Category     |  NumOfStudents
------------------------------------------------
PK | B - Male | 10
PK | B - Female | 12
0 | B - Male | 5
0 | B - Female | 6

这样做很容易实现:

SELECT
gl.title as GradeLevel,
s.Race + '-' +s.Gender as Category
COUNT (s.student_id) as NumOfStudents
FROM
students s,
inner join student_enrollment se on s.student_id = se.student_id,
inner join school_gradelevels gl on se.school_id=gl.school_id AND se.grade_id=gl."id"
WHERE
se.syear =2012
AND se.end_date IS NULL
AND se.school_id =10

group by gl.title, s.Race + '-' +s.Gender

order by Grade;

接下来,您可能希望通过使用报告工具天气它的 SSRS 或 Crystal 或任何其他支持矩阵报告的工具,从该数据中创建一个数据透视表。

如果没有知道如何制作矩阵的可用报告工具,请使用 SQL Pivot 子句:http://msdn.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

SELECT GradeLevel, [B-Male], [B-Female] ....
FROM
(
SELECT
gl.title as GradeLevel,
s.Race + '-' +s.Gender as Category
COUNT (s.student_id) as NumOfStudents
FROM
students s,
inner join student_enrollment se on s.student_id = se.student_id,
inner join school_gradelevels gl on se.school_id=gl.school_id AND se.grade_id=gl."id"
WHERE
se.syear =2012
AND se.end_date IS NULL
AND se.school_id =10
group by gl.title, s.Race + '-' +s.Gender
) rawData
PIVOT
(
SUM(NumOfStudents)
FOR Category IN ( [B-Male], [B-Female], ... )
) AS pvt

关于sql - 我将如何为附加报告编写 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com