SQL查询与2个不相关的WHERE条件

问题描述:

我是SQL初学者,请帮助我。 我有2个表:SQL查询与2个不相关的WHERE条件

**Assessment_Schedule** (Use to lookup Session number) <br> 
**UnitCode | AssessmentNumber | Session_Start | Session_Due** 
    Unit 1 | AN1    | Session 1  | Session 3 | 
    Unit 1 | AN2    | **Session 2 | Session 2** | 
    Unit 1 | AN3    | Session 5  | Session 9 | 
    Unit 2 | AN1    | Session 6  | Session 8 | 
    Unit 2 | AN2    | **Session 7 | Session 7** | 
    Unit 2 | AN3    | Session 8  | Session 10 | 

**-> Class_SessionDate <br>** 
**ClassCode | SessionNumber | SessionDate ** 
    Class1 | Session 1  | 01/01/17 | 
    Class1 | Session 2  | 04/01/17 | 
    Class1 | Session 3  | 08/01/17 | 
    Class1 | Session 4  | 12/01/17 | 
    Class1 | Session 5  | 16/01/17 | 
    Class1 | Session 6  | 20/01/17 | 
    Class1 | Session 7  | 24/01/17 | 
    Class1 | Session 8  | 28/01/17 | 

我理想中的结果实现的是

**ClassCode | UnitCode | AssessmentNumber | Ass_StartDate | Ass_DueDate  ** 
    Class1 | Unit 1 | AN1    | 01/01/17  | 08/01/17 
    Class1 | Unit 1 | AN2    | 04/01/17  | 04/01/17 
    Class1 | Unit 1 | AN3    | 16/01/17  | 01/02/17 
    Class1 | Unit 2 | AN1    | 20/01/17  | 28/01/17 
    Class1 | Unit 2 | AN2    | 24/01/17  | 24/01/17 
    Class1 | Unit 2 | AN3    | 28/01/17  | 10/02/17 

我已经取得了迄今使用WHERE条件得到Ass_StartDate中,Ass_DueDate只是显示相同的值作为Ass_StartDate。

后来,当我把“在哪里”为Ass_DueDate,只有2结果产生的分别是:

Class1 | Unit 1 | AN2 | 04/01/17 | 04/01/17 
Class1 | Unit 2 | AN2 | 24/01/17 | 24/01/17 

请帮助我。非常感谢您

+0

您可以包括你的全部已经试过查询? 'AND WHERE'听起来像会产生语法错误。如果你的意思是'WHERE'东西'AND'别的东西,那么看到*完全*你在看什么会有帮助。此外,只是一个想法,你可能想要使用缩写。 –

+0

嗨鲍勃,感谢编辑我的文章,这使得它更清晰。这是我的查询**选择Class_SessionDate.ClassCode,Assessment_Schedule.UnitCode,Assessment_Schedule.AssessmentNumber,Class_SessionDate为Ass_StartDate,Class_SessionDate作为Ass_DueDate FROM Assessment_Schedule,Class_SessionDate, WHERE Assessment_Schedule.Session_Start = Class_SessionNumber AND Assessment_Schedule.Session_End = Class_SessionNumber **我想我需要使用联盟?对不起,我还没有熟悉Stackoverflow格式。 – Musicazx

您可以使用JOIN语句 像

SELECT T2.ClassCode, T1.UnitCode, T1.AssessmentNumber, (SELECT SessionDate FROM Table1 WHERE SessionNumber = T1.Session_Start), (SELECT SessionDate FROM 

Table1 WHERE SessionNumber = T1.Session_Due) 

FROM Your_tables 
+1

非常感谢你Asmgx,你是天才,这就是我所能说的:)。与GROUP BY结合起来,它的作用就像魔术一样:D。再次。谢谢!!! – Musicazx