Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] es un error raro o yo lo hago mal ???

Estas en el tema de es un error raro o yo lo hago mal ??? en el foro de Mysql en Foros del Web. Tengo esta consulta que funciona una parte y la otra no, es decir, me trae resultados hasta dpto4p, a partir de ahi, me trae la ...
  #1 (permalink)  
Antiguo 27/06/2018, 07:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
es un error raro o yo lo hago mal ???

Tengo esta consulta que funciona una parte y la otra no, es decir, me trae resultados hasta dpto4p, a partir de ahi, me trae la consulta vacia, por que sera ???
Código SQL:
Ver original
  1. SELECT * FROM `tarifas`
  2.        WHERE
  3. `single`<>"--" AND `single`<>""
  4. AND`doble`<>"--" AND `doble`<>""
  5. AND`iva`<>"--" AND `iva`<>""
  6. AND `triple`<>"--" AND `triple`<>""
  7. AND `cuadr`<>"--" AND `cuadr`<>""
  8. AND `dpto2p`<>"--" AND `dpto2p`<>""
  9. AND `dpto3p`<>"--" AND `dpto3p`<>""
  10. AND `dpto4p`<>"--" AND `dpto4p`<>""
  11. AND `dpto5p`<>"--" AND `dpto5p`<>""
  12. AND `dpto6p`<>"--" AND `dpto6p`<>""
  13. AND `dpto7p`<>"--" AND `dpto7p`<>""
  14. AND `dpto8p`<>"--" AND `dpto8p`<>""
  15. AND `suite`<>"--" AND `suite`<>"---"AND `suite`<>"" AND `pecomp`<>"--" AND `pecomp`<>""
  16. AND `mediap`<>"--" AND `mediap`<>""
  17. AND `desayuno`<>"--" AND `desayuno`<>""
  18. AND `almcena`<>"--" AND `almcena`<>""
  19. AND `bcomun1`<>"--" AND `bcomun1`<>""
  20. AND `bcomun2`<>"--" AND `bcomun2`<>""
  21. AND `bcomun3`<>"--" AND `bcomun3`<>""
  22. AND `bcomun4`<>"--" AND `bcomun4`<>""
  23. AND `nr`<>"";

Última edición por gnzsoloyo; 27/06/2018 a las 12:12
  #2 (permalink)  
Antiguo 27/06/2018, 07:40
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: es un error raro o yo lo hago mal ???

se cumplen toooodas las condiciones? estas usando and, lo que quiere decir que se tienen que cumplir tooooodas las condiciones
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 27/06/2018, 08:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: es un error raro o yo lo hago mal ???

se cumplen tooooodassss
  #4 (permalink)  
Antiguo 27/06/2018, 09:14
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: es un error raro o yo lo hago mal ???

prueba condicion por condicion, podrias poner un ejemplo de tus datos?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 27/06/2018, 09:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: es un error raro o yo lo hago mal ???

Probe campo por campo y llego a cumplir con las condiciones hasta dpto4p, cuando le pongo un campo mas ya me devuelve la consulta vacia

1 nr varchar(11) latin1_swedish_ci No Ninguna
2 single varchar(10) latin1_swedish_ci No Ninguna
3 iva varchar(10) latin1_swedish_ci No Ninguna
4 doble varchar(10) latin1_swedish_ci No Ninguna
5 triple varchar(10) latin1_swedish_ci No Ninguna
6 cuadr varchar(10) latin1_swedish_ci No Ninguna
7 dpto2p varchar(10) latin1_swedish_ci No Ninguna
8 dpto3p varchar(10) latin1_swedish_ci No Ninguna
9 dpto4p varchar(10) latin1_swedish_ci No Ninguna
10 dpto5p varchar(10) latin1_swedish_ci No Ninguna
11 dpto6p varchar(10) latin1_swedish_ci No Ninguna
12 dpto7p varchar(10) latin1_swedish_ci No Ninguna
13 dpto8p varchar(10) latin1_swedish_ci No Ninguna
14 suite varchar(10) latin1_swedish_ci No Ninguna
15 pecomp varchar(10) latin1_swedish_ci No Ninguna
16 mediap varchar(10) latin1_swedish_ci No Ninguna
17 desayuno varchar(10) latin1_swedish_ci No Ninguna
18 almcena varchar(10) latin1_swedish_ci No Ninguna
19 bcomun1 varchar(10) latin1_swedish_ci No Ninguna
20 bcomun2 varchar(10) latin1_swedish_ci No Ninguna
21 bcomun3 varchar(10) latin1_swedish_ci No Ninguna
22 bcomun4 varchar(10) latin1_swedish_ci No Ninguna
23 fecha date
  #6 (permalink)  
Antiguo 27/06/2018, 10:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: es un error raro o yo lo hago mal ???

Ejemplo de tus datos no te tus tipos de datos
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 27/06/2018, 12:14
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: es un error raro o yo lo hago mal ???

Cita:
Iniciado por Parliament Ver Mensaje
Probe campo por campo y llego a cumplir con las condiciones hasta dpto4p, cuando le pongo un campo mas ya me devuelve la consulta vacia
Pues ya te estás respondiendo solo: A partir del campo "dpto5p", ya no tienes registros en la tabla que cumplan la condición...

No importa lo que digas: Si no devuelve datos es porque la condición
Código SQL:
Ver original
  1. AND `dpto5p`<>"--" AND `dpto5p`<>""
no se cumple.

Posdata: Te recomiendo NO usar comillas, sino apóstrofos para las cadenas de texto, ya que en MySQL el uso de las comillas depende de la configuracion del servidor y podrían definirse como contenedores de nombres de objetos de BBDD y no de cadenas, lo que daría resultados inesperados y errores. En cambio los apóstrofos son SIEMPRE cadenas.
Algo así:
Código SQL:
Ver original
  1. AND `dpto5p`<>'--' AND `dpto5p`<>''
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 28/06/2018, 05:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: es un error raro o yo lo hago mal ???

nr =3250
single =124
iva =--
doble =235
triple =365
cuadr =425
dpto2p=5321

Son campos con numeros o caracteres, la informacion puede venir de esa manera
  #9 (permalink)  
Antiguo 28/06/2018, 06:12
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: es un error raro o yo lo hago mal ???

Cita:
Iniciado por Parliament Ver Mensaje
Son campos con numeros o caracteres, la informacion puede venir de esa manera
Para que se entienda: "puede" no es válido. EL SQL no analiza lo que "puede" sino lo que efectivamente viene. Como ya te comenté, si hasta las condiciones del "dpto4p" devuelve registros, pero cuando le agregas el "dpto5p" ya no los devuelve, entonces NO tienes registros donde los valores contenidos en "dpto5p" cumplan la condición...
Una cosa que podría suceder es que ese campo esté en NULL, por la razón que sea, ya que NULL no es un caracter vacío (como lo validas en el WHERE), sino un estado de indefinición. Y MySQL no valida el NULL de la misma forma que los datos reales, incluyendo el caracter vacío.

Postea los datos que SI te devuelve, y veamos qué es lo que pasa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 28/06/2018, 07:27
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: es un error raro o yo lo hago mal ???

bueno te lo digo de otra manera, no puede venir de esa manera, VIENEN los datos de esa manera
  #11 (permalink)  
Antiguo 28/06/2018, 07:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: es un error raro o yo lo hago mal ???

tu condicion dice que si tienen que venir todos los campos en el formato que esperas(todos diferentes de -- o de ---) para que regrese algo, si un campo viene vacio o con esos valores entonces la condicion no se cumple y no regresa la informacion, ahora dices que te regresa hasta la condicion 4, como te dije valida condicion por condicion, hasta que veas en donde deja de regresar valores y revisa el porque, un ejemplo de tus DATOS ayudaria
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #12 (permalink)  
Antiguo 28/06/2018, 08:14
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: es un error raro o yo lo hago mal ???

los campos vienen de la sigiente manera
nr =3250
single =124
iva =--
doble =235
triple =365
cuadr =425
dpto2p=5321
dpto3p=
Con numeros, guiones o espacios, yo quiero descartar los que tienen guiones y espacio, no veo la forma de hacerlo
  #13 (permalink)  
Antiguo 28/06/2018, 08:32
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: es un error raro o yo lo hago mal ???

es que estas usando un AND eso quiere decir que si no se cumple una parte de la condicion entonces no te regresaria el registro, digamos tienes campo1,campo2 y campo3 en una condicion AND en los 3 campos los 3 deberia de tener diferente de -- o de --- o vacio, tu condicion esta bien para descartar los renglones que tienen algun valor que no quieres, pero si ocupas que te regrese el renglon aunque tenga ese valor ya es otra cosa, ahora porque en lugar de complicarte la vida, no haces un replace, donde encuentre esos valores que los remplace por un 0?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #14 (permalink)  
Antiguo 28/06/2018, 10:00
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: es un error raro o yo lo hago mal ???

sigue dando el mismo error, voy a reformular la cosa, gracias a todos
  #15 (permalink)  
Antiguo 28/06/2018, 10:36
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: es un error raro o yo lo hago mal ???

Deberías haber hecho lo que te pedimos: Una muestra de TODOS los datos de los registros que la query devuelve, cuando los devuelve.
Tu problema no es exactamente de CONSULTA sino de DATOS. Son los DATOS los que no cumplen lo que dice la consulta, y para entender qué falla hay que ver los datos REALES.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:59.