【发布时间】:2019-03-24 14:50:45
【问题描述】:
大家好,我有一个问题需要帮助,我正在尝试获取指定学生的考试数量
我们有三张桌子:
etudient (N_Appoge,Nom,PRENOM,filiere,....)
module (NUM_Module,Nom_module,Nom_semestre)
Inscrit (N_Appoge,NUM_Module) // this table is the relation between etudiant & module
所以基本上同班的学生意味着他们有相同的 filiere 和相同的 Nom_semestre
我试过这个查询:
set @num_exam=0;
SELECT DISTINCT N_APPOGE, NOM, PRENOM, filiere,Nom_semestre,
(@num_exam:=@num_exam+1) as num_exam FROM etudiant,
module
WHERE
filiere in (SELECT filiere FROM etudiant WHERE N_APPOGE='1610065' )
And
Nom_semestre In
(SELECT Nom_semestre from module WHERE Nom_semestre='s1'
and NUM_module in (SELECT NUM_module from inscrit where N_APPOGE='1610065'))
ORDER by NOM;
但结果并不像我预期的那样,它显示了同一学生的两个结果 N_APPOGE='1610065' 和其他学生的多个结果
在这种情况下,DISTINCT 似乎不起作用,这里的解决方案是什么?
【问题讨论】:
-
这不是 Oracle 代码。请标记您真正使用的数据库。
-
欢迎来到 Stack Overflow。如果没有测试数据,很难确定建议的答案是否正确。请编辑您的问题(使用标签下方的
edit按钮)并在问题中包含所有表格的数据样本,以便重现问题。谢谢。
标签: php sql database oracle phpmyadmin