0
我有20个表(主题列表),具有与下面相同的表结构。如何在存在空值时查询多个左连接表
列
|id|student_id|result_session|result_term|result_arm|result_class|result_level|1st_test|2nd_test|exam|result_total|result_grade|result_remark|
然后我有如下另一个表result_summary
:
|id|student_id|result_score|result_average|result_term|result_session|result_level|result_class|result_arm
最小查询
当我写我的查询,像这样:
SELECT t2.`1st_test` AS agric1, t2.`2nd_test` AS agric2, t2.exam AS agricExam3, t2.result_total AS agricTotal,
t2.result_grade AS agricGrade, t3.`1st_test` AS basicsci1, t3.`2nd_test` AS basicsci2, t3.exam AS basicsciExam,
t3.result_total AS basicsciTotal, t3.result_grade AS basicsciGrade t2.result_remark AS agricRemark, t3.result_remark AS basicSciRemark
FROM ((result_summary AS t1 LEFT JOIN
agricultural_science AS t2 ON t1.student_id = t2.student_id) LEFT JOIN
basic_science AS t3 ON t1.student_id = t3.student_id)
WHERE (t1.student_id = '@studentID' AND t1.result_term = '@term' AND t1.result_session = '@session' AND t1.result_level = '@level' AND t1.result_class = '@resultClass') AND
(t2.student_id = '@studentID' AND t2.result_term = '@term' AND t2.result_session = '@session' AND t2.result_level = '@level' AND t2.result_class = '@resultClass') AND
(t3.student_id = '@studentID' AND t3.result_term = '@term' AND t3.result_session = '@session' AND t3.result_level = '@level' AND t3.result_class = '@resultClass')
它不返回任何行。请注意,存在与表t1 and t2
中的查询数据匹配的数据,但不存在于t3
中的数据。
如何编写查询以获得期望的结果?提前致谢。
什么是你想要的结果? –
有数据从表't1和t2'中获取,这在表't3'中不会出现。运行查询返回零行,但假设返回一行。 – BlackPearl