0

通过使用 Sql server 2008,我可以返回两个表结果,例如

College    Department   Course    Section   Passed

  X           CS         B.Sc        A        30
  X           CS         B.Sc        B        12

和第二个结果

College    Department   Course    Section   Failed

  X           CS         B.Sc        A        23
  X           CS         B.Sc        B        42

在这里,我加入了一个比第一个表多的表,如果我使用相同的查询来获取通过和失败的计数,计数会出错,这就是使用两个不同的查询。

我正在尝试将这两个表结合起来,以获得类似的结果

College    Department   Course    Section   Passed   Failed

  X           CS         B.Sc        A        30       23
  X           CS         B.Sc        B        12       42

但我不知道如何做到这一点,任何人都可以在这里帮助我,在此先感谢。

注意:这里在两个查询中加入了大约 3 到 5 个表。

4

3 回答 3

2
select a.*b.failed
from ([first result query]) a
INNER JOIN ([second result query]) b on a.college=b.college and a.Department=b.Department and a.Course=b.course and a.Section=b.Section
于 2012-08-09T11:12:40.813 回答
1

声明

select College,    Department ,  Course  ,  Section ,
       sum(case when <pass condition> then 1 else 0) as Passed  ,
       sum(case when <fail condition> then 1 else 0) as Failed
from <table1>
join <table2>
on (condition)
group by College,    Department ,  Course  ,  Section
于 2012-08-09T11:12:51.743 回答
0

您可以对所需的输出使用内部连接。

例如,

Select emp.name,emp.salary,Q.qualification from employee emp inner join qualification  Q.empid=emp.empid

详情参考

https://www.w3schools.com/sql/sql_join_inner.asp/

https://avtartime.com/sql-inner-join-with-examples/

于 2018-10-15T18:35:39.853 回答