我想根据自己的班级和学年 这里展示学生的细节是我用来实现相同的:为什么我的结果,当我做内加入跨产品?
SELECT
a1.fk_stu_id,
b.stu_fname,
c.class_name,
d.section_code,
e.acad_year
FROM
tbl_stu_class a1
JOIN
tbl_stu_details b
ON
(b.pk_stu_id = a1.fk_stu_id),
list_class c
JOIN
tbl_stu_class a2
ON
c.pk_class_id = a2.fk_class_id,
list_sections d
JOIN
tbl_stu_class a3
ON
d.pk_section_id = a3.fk_section_id,
list_acad_years e
JOIN
tbl_stu_class a4
ON
e.pk_acad_year_id = a4.fk_year_id
WHERE
c.class_name = '10';
但这返回学年叉积为每个学生... 这里是上面查询的输出:
fk_stu_id stu_fname class_name section_code acad_year
1 sss 10 A 2019
2 Second 10 A 2019
1 sss 10 A 2017
2 Second 10 A 2017
结果预计:
fk_stu_id stu_fname class_name section_code acad_year
1 sss 10 A 2019
2 Second 10 B 2017
有人可以解释为什么是这样吗?我如何解决这个问题? 在此先感谢。
能否请你分享你正在试图获得的结果? – Mureinik
这是什么类型的SQL?我不明白你的JOIN语法与逗号.. –
,因为我必须从不同的表中获取详细信息查询导致这种方式.... –