Cita:
Iniciado por gnzsoloyo
Porque el SQL no puede devolver el dato que no existe, cuando no está representado en ninguna tabla. Así de sencillo.
El SQL trabaja con los datos registrados en la tabla en forma real. No puede darte, tomados sólo de esa tabla, un valor cero (0), porque no tiene cómo encontrarlo.
Distinto sería se tienes una tabla donde aparezca la lista de sitios, entonces la cosa se simplifica:
Código MySQL:
Ver original (YEAR(E.evento
) = ".$anos." AND E.semana
= " . $semana) OR E.site_id IS NULL
GROUP BY S.site_id
Muchas gracias por tu respuesta te comento que si tengo una tabla sitios y se podria hacer tu consulta como me la mandas pero no me da el resultado deseado.
es decir mira.. en el año hay 52 semanas, en cada semana puedo o no haber el evento aborto.
quiero hacer una consulta que me traiga los valores de cada sitio, de las 52 semanas si hubo o abortos.
es decir.
si hago la consulta de esta manera( y funcionara)
Cita: Editado: Código de programación no permitido en foros de Bases de Datos. Leer las normas, por favor.
el resultado deseado seria listando todas las semanas incluyendo valores 0
Código:
sitio | evento | abortos | semana
------------------------------------------
20 | aqui la fecha | 0 | 1
20 | ---| 1 |2
20 | --- | 0 | 3
20 | --- | 1 |4
20 | --- | 0 | 5
20 | --- | 0 | 6
entiendo que mysql no puede inventar datos que no existen, gracias sigo aprendiendo.. pero cual seria o como seria la consulta para que me arrojara ese resultado.