我是SQL的初学者,请帮我解决这个问题。 我有2张桌子:
**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输入“And WHERE”时,只生成2个结果:
Class1 | Unit 1 | AN2 | 04/01/17 | 04/01/17
Class1 | Unit 2 | AN2 | 24/01/17 | 24/01/17
请帮我解决这个问题。非常感谢你
答案 0 :(得分:1)
您可以使用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