首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要设计查询或MS SQL程序

需要设计查询或MS SQL程序
EN

Stack Overflow用户
提问于 2016-02-02 04:03:14
回答 1查看 22关注 0票数 0

假设我有两张表

Student_table:

代码语言:javascript
复制
studentID, lname, fname

Test_table:

代码语言:javascript
复制
testid, studentid, testname, testdate

学生可以参加考试A和考试B两种考试。

现在,我想设计一个查询或过程,允许显示来自学生表和test_table的数据,如果学生参加了两个考试A,则显示条件。

只有考试A信息需要与学生信息一起显示,否则任何考试信息都应该显示,或者如果没有可用的考试,则不显示任何考试信息。

EN

回答 1

Stack Overflow用户

发布于 2016-02-02 04:44:22

我所理解的是,如果学生参加了这两个考试,那么你就会去显示学生信息和考试A信息,否则考试就会用学生信息进行。如果我的理解是正确的,请尝试这个查询。

代码语言:javascript
复制
select st.*,tt.* 
from student_table st 
inner join test_table tt 
    on st.sid = tt.sid 
    and tt.sid in (select sid 
                   from test_table 
                   where testname ='testA' 
                  intersect 
                   select sid 
                   from test_tablewhere testname ='testB') 
    and testname='testA'
union all
select st.*,tt.* 
from student_table st 
inner join test_table tt 
    on st.sid = tt.sid
    and tt.sid not in (select sid 
                       from test_table 
                       where testname ='testA' 
                      intersect 
                       select sid 
                       from test_table 
                       where testname ='testB') ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35139298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档