【发布时间】:2015-09-04 22:28:45
【问题描述】:
我需要两个查询的单个数组中的联合帮助:
在一个季度中与学生缺勤成绩相关的查询中:
$sSqlAsistencia =
" SELECT
ca.idcadete,
coalesce(sum(i.cantidad),0) as cantidad
FROM
cadetes ca,
cursos c,
cursos_cadetes cc
left join inasistencias i on i.fk_idcurso = cc.fk_idcurso and i.fk_idcadete = cc.fk_idcadete
WHERE
c.habilitado = true
and ca.habilitado = true
and c.fk_idanolectivo = ".$aAnoLectivoBuscar."
and c.fk_idano = ".$aAnoBuscar."
and c.fk_iddivision = ".$aDivisionBuscar."
and cc.fk_idcurso = c.idcurso
and cc.fk_idcadete = ca.idcadete
and (EXTRACT(MONTH FROM i.fecha) in ".$trimestre ." or i.cantidad is null)
GROUP BY
ca.idcadete
";
$sSqlInasistencia = $oDB->Query($sSqlAsistencia);
idcadete | cantidad
203 | 4
305 | 0
120 | 10
然后我有一段代码,因此我获得了满足其他查询的学生/学员奖:
$sSql = " SELECT idcadete, nombre, apellido, matricula
FROM cadetes
WHERE idcadete in
(" . $sSqlPromedioEnCadaMateria . " INTERSECT " . $sSqlPromedioConducta;
if (strlen($aPromedioGeneralEdFisicaMayorABuscar)) {
$sSql .= " INTERSECT " . $sSqlPromedioEnEdFisica;
}
$sSql .= ")";
$rsCadetesConPremio=$oDB->query($sSql);
idcadete | nombre | apellido | matricula
203 | adrian | perez | 212121
尝试使用 INNER JOIN 链接这两个咨询,但我错了,因为它应该设法将两个查询结合起来,如下所示:
$premio = " SELECT a.idcadete, a.nombre, a.apellido, a.matricula, b.cantidad
FROM ".$rsCadetesConPremio."a inner join ".$sSqlInasistencia."b on a.idcadete = b.idcadete
ORDER BY a.idcadete";
----错误------
我需要以下结果:$premio
idcadete | nombre | apellido | matricula| cantidad
203 | adrian | perez | 212121 | 4
【问题讨论】:
-
它使用不同的语言
-
队列 ----ERROR------- ?..
-
谢谢,根据另一个论坛的建议,将两个查询合二为一。代码如下......
标签: sql arrays postgresql