[eluser]reset[/eluser]
Hello, I have to make this query on Active Record:
Code:
SELECT gl.idgrupolaboratorio, l.laboratorio, e.idenunciado, e.titulo
FROM (`grupo_alumnos` ga)
JOIN
`grupo_laboratorio` gl ON ga.idgrupolaboratorio = gl.idgrupolaboratorio
JOIN
`enunciados` e ON gl.idgrupolaboratorio = e.idgrupolaboratorio
JOIN
`laboratorios` l ON gl.idlaboratorio = l.idlaboratorio
WHERE ga.idusuario = '10'
AND gl.idcurso = '1'
AND e.fechatope > now()
AND NOT EXISTS
(SELECT 1
FROM practicas p
WHERE p.idusuario = ga.idusuario AND p.idenunciado = e.idenunciado)
ORDER BY l.laboratorio, e.idenunciado
I do that, but it doesn't work by the NOT EXISTS clausule:
Code:
public function getEnunciadosGruposByUsuarioCurso($idUsuario,$idCurso){
$this->db->select('gl.idGrupoLaboratorio, l.laboratorio, e.idEnunciado, e.titulo');
$this->db->from($this->tablas['grupo_alumnos'].' ga');
$this->db->join($this->tablas['grupo_laboratorio'].' gl','ga.idgrupolaboratorio = gl.idgrupolaboratorio');
$this->db->join($this->tablas['enunciados'].' e','gl.idgrupolaboratorio = e.idgrupolaboratorio');
$this->db->join($this->tablas['laboratorios'].' l','gl.idlaboratorio = l.idlaboratorio');
$this->db->where('ga.idusuario',$idUsuario);
$this->db->where('gl.idcurso',$idCurso);
$this->db->where('e.fechatope > now()');
$this->db->where('NOT EXISTS (SELECT 1 FROM '.$this->tablas['practicas'].' p WHERE p.idusuario = ga.idusuario AND p.idenunciado = e.idenunciado)');
$this->db->order_by('l.laboratorio, e.idenunciado');
$result = $this->db->get();
return $result->result_array();
}
My browser show this error
Code:
An Error Was Encountered
Error Number: 1064
Algo est� equivocado en su sintax cerca 'EXISTS (SELECT 1 FROM practicas p WHERE p.idusuario = ga.idusuar' en la linea 9
SELECT gl.idGrupoLaboratorio, l.laboratorio, e.idEnunciado, e.titulo FROM (`grupo_alumnos` ga) JOIN `grupo_laboratorio` gl ON ga.idgrupolaboratorio = gl.idgrupolaboratorio JOIN `enunciados` e ON gl.idgrupolaboratorio = e.idgrupolaboratorio JOIN `laboratorios` l ON gl.idlaboratorio = l.idlaboratorio WHERE ga.idusuario = '10' AND gl.idcurso = '1' AND e.fechatope > now() AND `NOT` EXISTS (SELECT 1 FROM practicas p WHERE p.idusuario = ga.idusuario AND p.idenunciado = e.idenunciado) ORDER BY l.laboratorio, e.idenunciado
How I can make this query?
Thanks all for reading