【发布时间】:2012-04-11 14:21:45
【问题描述】:
我正在学校工作一个学期。我不太习惯使用 SQL,我正在努力掌握它....
我的主管给了我一个用户任务,我需要在其中获取行数据并制作列。我们使用交叉表向导并自动创建 SQL 来获得我们需要的内容。
基本上,我们有一个这样的表:
ReqNumber Year FilledFlag(is a checkbox) FilledBy
1 2012 (notchecked) ITSchoolBoy
1 2012 (checked) GradStudent
1 2012 (notchecked) HighSchooler
2 etc, etc.
用户想要的是列出所有请求编号以及检查的内容
我们的自动数据透视代码为我们提供了所有 FilledBy 选项(总共 9 个)作为列标题,并按 reqnumber 分组。
没有枢轴你怎么能做到这一点?我想解决这个问题。我能找到的最近的是:
SELECT
SUM(IIF(FilledBy = 'ITSchoolboy',1,0) as ITSchoolboy,
SUM(IIF(FilledBy = 'GradStudent',1,0) as GradStudent, etc.
FROM myTable
谁能帮我解释一下?给我指个向导的方向?我一直在寻找一天中最好的部分,即使我是一名学生,我认为这不会被笑太久。但我真的很想知道!
【问题讨论】:
-
并不是我会避免使用枢轴,只是因为我是这门语言的新手,我想学习如何用另一种方式来做。我的老板告诉我他会用不同的方式(上面提到的方式),因为他更喜欢“纯 SQL”。我想我只想知道增加我的知识就是全部(抱歉英语很糟糕)。
-
你们 - 如此细心(而且聪明!)。我们没有使用 year 列,它是一个用于跟踪学生就业情况的表,因此假定它是针对当前年份的(尽管订单可能是在上一个日历年下达的)。
标签: sql ms-access ms-access-2007