buenas podrian darme una idea para que solo muestre el ultimo registro en vez de todos?, gracias
SELECT central.sucursal as numero, t_sucursales.nombre_suc, central.fecha, central.inventario FROM central INNER JOIN t_sucursales ON central.sucursal = t_sucursales.numerosucursal WHERE
(
MONTH(central.fecha) LIKE '%". $mes ."%'
and YEAR(central.fecha) LIKE '%". $año ."%'
and t_sucursales.numerosucursal LIKE '%". $numerosucursal ."%'
and t_sucursales.nombre_suc LIKE '%". $nombresursal ."%'
)
Mod: Temas sobre Bases de Datos van al subforo de Bases de Datos.
esto al final de tu query debería hacer el trabajo
ORDER BY central.fecha DESC LIMIT 1
eso era gracias ,disculpa y si quisiera que al dejar vacio mostrara todos pero sin repetir sucursales
Reemplazando:
central.sucursal as numero
Por:
DISTINCT(central.sucursal) as numero
También puedes hacerlo con un group by pero utiliza mas memoria ram ya que almacenará los resultados repetidos en una matriz, en cambio distinct() descartará los repetidos.
Estamos suponiendo que usas mysql.
por alguna razon no me funciona con distinct con group by si pero al querer mostrar con order la ultima fecha me de la inicial ,lo realizo de esta manera
$sql = $this->conn->query("SELECT central.sucursal as numero,t_sucursales.nombre_suc, central.fecha, central.inventario,t_sucursales.numerosucursal FROM central INNER JOIN t_sucursales ON central.sucursal = t_sucursales.numerosucursal WHERE
(
MONTH(central.fecha) LIKE '%". $mes ."%'
and YEAR(central.fecha) LIKE '%". $año ."%'
and t_sucursales.numerosucursal LIKE '%". $numerosucursal ."%'
and t_sucursales.nombre_suc LIKE '%". $nombresursal ."%'
) GROUP BY central.sucursal ORDER BY central.fecha DESC") ;