我需要一些帮助。我已经搜索了,但是找不到我想要的东西。我有一个学校招生要求我使用SQL。我有一个查询,该查询从两个表中提取了一些问题:
E tensorflow/core/framework/op_segment.cc:54] Create kernel failed: Not found: No registered 'NGraphVariable' OpKernel for GPU devices compatible with node {{node lstm_1/kernel}} = NGraphVariable[_class=["loc:@IsVariableInitialized"], container="", dtype=DT_FLOAT, just_looking=false, shape=[1,80], shared_name="", _device="/job:localhost/replica:0/task:0/device:GPU:0"]()
. Registered: device='CPU'
我需要在底部添加一个SELECT Course.CourseNo, Course.CrHrs, Sections.Yr, Sections.Term, Sections.Location
FROM Course
INNER JOIN Sections ON Course.CourseNo = Sections.CourseNo
WHERE Sections.Term="spring";
行以计算Totals
并求和CourseNo
。由于我需要粘贴代码,因此必须通过SQL查询设计来完成。我知道可以通过数据表视图完成操作,但她不会接受。有什么建议吗?
答案 0 :(得分:0)
要实现此目的,您可以将查询与聚合查询结合在一起。从您的问题尚不清楚,您尝试从哪个列中获取“总计”,但这是一个示例,它说明了我使用查询并获取每个计数的含义(有点无用的示例-但您应该能够将其应用于您的查询)在做):
SELECT
[Course].[CourseNo]
, [Course].[CrHrs]
, [Sections].[Yr]
, [Sections].[Term]
, [Sections].[Location]
FROM
[Course]
INNER JOIN [Sections] ON [Course].[CourseNo] = [Sections].[CourseNo]
WHERE [Sections].[Term] = [spring]
UNION ALL
SELECT
"TOTALS"
, SUM([Course].[CrHrs])
, count([Sections].[Yr])
, Count([Sections].[Term])
, Count([Sections].[Location])
FROM
[Course]
INNER JOIN [Sections] ON [Course].[CourseNo] = [Sections].[CourseNo]
WHERE [Sections].[Term] = “spring”
答案 1 :(得分:0)
您可以分别准备“总计”查询,然后将两个查询结果与“ UNION”一起输出。 它可能看起来像:
SELECT Course.CourseNo, Course.CrHrs, Sections.Yr, Sections.Term, Sections.Location
FROM Course
INNER JOIN Sections ON Course.CourseNo = Sections.CourseNo
WHERE Sections.Term="spring"
UNION
SELECT "Total", SUM(Course.CrHrs), SUM(Sections.Yr), SUM(Sections.Term), SUM(Sections.Location)
FROM Course
INNER JOIN Sections ON Course.CourseNo = Sections.CourseNo
WHERE Sections.Term="spring";
答案 2 :(得分:0)
虽然您当然可以union
将汇总查询查询到原始查询的末尾,但我认为这确实是一种不良做法,并且对于任何实际应用程序都是不希望的。
考虑到结果查询不能再用于数据的任何有意义的分析:如果显示在数据网格中,则在汇总行不散布在其余数据中的情况下,用户将无法对数据进行排序;用户将无法再使用内置的Totals
选项来执行自己的聚合操作,并且仅由术语totals
标识的行的插入甚至可能与集合中的其他数据冲突。 / p>
相反,我建议使用单独的查询(例如,以下内容(基于您自己的示例))在完全独立的表单控件中显示总计:
SELECT Count(Course.CourseNo) as Courses, Sum(Course.CrHrs) as Hours
FROM Course INNER JOIN Sections ON Course.CourseNo = Sections.CourseNo
WHERE Sections.Term = "spring";
但是,由于CrHrs
是Course
表中的字段,而不是Sections
表中的字段,因此以上内容可能会产生所需结果的倍数,其中小时数乘以Sections
表中相应记录的数量。
在这种情况下,以下可能更合适:
SELECT Count(Course.CourseNo) as Courses, Sum(Course.CrHrs) as Hours
FROM
Course INNER JOIN
(SELECT DISTINCT s.CourseNo FROM Sections s WHERE s.Term = "spring") q
ON Course.CourseNo = q.CourseNo