Discussion:
[OT-SQL] Dudas y consultas sobre SQL
(demasiado antiguo para responder)
Daniel Naranjo
2008-01-30 23:30:45 UTC
Permalink
Hola a todos...

Luego de darle la vuelta un par de veces al codigo PHP, he notado que el error lo tengo en SQL a momento de realizar la consulta. Tengo la siguiente consulta para mostrar una data, la cual debo mostrar Ordenada por fecha y respetando el orden de publicación (ej. noticiaID).

SELECT noticiaID, titulo, posicion, fecha
FROM noticias
WHERE STATUS =1
AND posicion =0
AND fecha <= '2008-01-29'
ORDER BY fecha DESC

Al comprobar en phpMyAdmin observo que no lo muestra como deberia ser... sino con los ID de forma aleatoria, intenten colocando ORDER BY fecha, noticiaID DESC y viceversa pero ordeno de forma ASCENDENTE las noticias según los ID..

Alguna sugerencia, comentario, idea de como solventar este detallito? Adjunto la escrutura de la base de datos:

CREATE TABLE `noticias` (
`noticiaID` int(11) NOT NULL auto_increment,
`antetitulo` varchar(255) default NULL,
`titulo` varchar(255) NOT NULL default '',
`sumario` text,
`cuerpo` text NOT NULL,
`seccion` varchar(255) default NULL,
`autor` varchar(255) default NULL,
`fuente` varchar(255) default NULL,
`fecha` date NOT NULL default '0000-00-00',
`foto1` varchar(255) default NULL,
`foto2` varchar(255) default NULL,
`foto3` varchar(255) default NULL,
`foto4` varchar(255) default NULL,
`foto5` varchar(255) default NULL,
`posicion` varchar(10) default NULL,
`edicion` varchar(255) default NULL,
`status` char(1) NOT NULL default '',
PRIMARY KEY (`noticiaID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1456 ;

Salu2


Daniel N
BIGOTE
2008-01-31 00:42:36 UTC
Permalink
Probá indicándole a cada campo cómo querés que lo ordene, porque si dejas en blanco un campo, asume que ese debe ordenarse en forma ascendente

SELECT noticiaID, titulo, posicion, fecha
FROM noticias
WHERE STATUS =1
AND posicion =0
AND fecha <= '2008-01-29'
ORDER BY fecha DESC, noticiaID DESC





"Daniel Naranjo" <***@loultimoenlaweb.com> escribió en el mensaje news:fnr1c1$8ib$***@forums.macromedia.com...
Hola a todos...

Luego de darle la vuelta un par de veces al codigo PHP, he notado que el error lo tengo en SQL a momento de realizar la consulta. Tengo la siguiente consulta para mostrar una data, la cual debo mostrar Ordenada por fecha y respetando el orden de publicación (ej. noticiaID).

SELECT noticiaID, titulo, posicion, fecha
FROM noticias
WHERE STATUS =1
AND posicion =0
AND fecha <= '2008-01-29'
ORDER BY fecha DESC

Al comprobar en phpMyAdmin observo que no lo muestra como deberia ser... sino con los ID de forma aleatoria, intenten colocando ORDER BY fecha, noticiaID DESC y viceversa pero ordeno de forma ASCENDENTE las noticias según los ID..

Alguna sugerencia, comentario, idea de como solventar este detallito? Adjunto la escrutura de la base de datos:

CREATE TABLE `noticias` (
`noticiaID` int(11) NOT NULL auto_increment,
`antetitulo` varchar(255) default NULL,
`titulo` varchar(255) NOT NULL default '',
`sumario` text,
`cuerpo` text NOT NULL,
`seccion` varchar(255) default NULL,
`autor` varchar(255) default NULL,
`fuente` varchar(255) default NULL,
`fecha` date NOT NULL default '0000-00-00',
`foto1` varchar(255) default NULL,
`foto2` varchar(255) default NULL,
`foto3` varchar(255) default NULL,
`foto4` varchar(255) default NULL,
`foto5` varchar(255) default NULL,
`posicion` varchar(10) default NULL,
`edicion` varchar(255) default NULL,
`status` char(1) NOT NULL default '',
PRIMARY KEY (`noticiaID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1456 ;

Salu2


Daniel N

Loading...