Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/02/2015, 06:36
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta MYSQL a un campo texto que tiene fechas

Vamos por el principio: Que tengas un campo de fecha pésimamente, ya es un problema grave. Y que no te lo dejen modificar, es peor.
¿Qué objeciones te ponen para cambiarlo?
Sería la solución mas simple, porque sería permanente. Ayudaría mucho a futuro, ya que no será la primera vez que te tomes con este problema...

Por otro lado, si no se puede modificar, en realidad la solución es usar funciones de conversión, siempre y cuando el contenido de ese campo sea siempre de una única fecha, y respete siempre el mismo formato.
Precisamente, el uso de columnas de tipo caracter para guardar fechas tienen el inconveniente que no permiten validar si lo que se almacena es o no una fecha correcta... Podría guardar cualquier basura.

Adicionalmente, te aconsejo que no uses LIKE para comparar datos que son magnitudes escalares. LIKE está definido para caracteres, y su uso sobre datos numéricos es totalmente desaconsejado.

Como sea, una solución aproximada sería esta:
Código MySQL:
Ver original
  1. SELECT fechaalbaran, descripcionarticulo, COUNT(descripcionarticulo) cantidad
  2. FROM $tabla
  3. WHERE fechaalbaran = STR_TO_DATE('".$dia1."'/'".$mes."'/2014', '%d/%m/%Y')
  4. GROUP BY descripcionarticulo
  5. ORDER BY cantidad DESC

Dejo la parte de variables sólo para que te orientes. En este foro no se tratan temas de programación, como podrás leer en el link que puse en tu post.

La consulta final debe quedar mas o menos así, siendo, por ejemplo, el primero de diciembre de 2014:
Código MySQL:
Ver original
  1. SELECT fechaalbaran, descripcionarticulo, COUNT(descripcionarticulo) cantidad
  2. FROM $tabla
  3. WHERE fechaalbaran = STR_TO_DATE('01/12/2014', '%d/%m/%Y')
  4. GROUP BY descripcionarticulo
  5. ORDER BY cantidad DESC
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)