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

duda de consulta

Estas en el tema de duda de consulta en el foro de Mysql en Foros del Web. hola que tal a todos tengo un query que me gustaria hacerlo anidado pero creo que no es mi fuerte y ya lo intente pero ...
  #1 (permalink)  
Antiguo 10/07/2009, 14:43
 
Fecha de Ingreso: junio-2008
Mensajes: 44
Antigüedad: 15 años, 9 meses
Puntos: 2
duda de consulta

hola que tal a todos tengo un query que me gustaria hacerlo anidado pero creo que no es mi fuerte y ya lo intente pero no me sale miren mi query es este

SELECT * FROM contenidos WHERE id_padre=19 OR id_padre=179 OR id_padre=197 OR id_padre=217 OR id_padre=233 OR id_padre=251 OR id_padre=270 OR id_padre=285 OR id_padre=303 OR id_padre=322 OR id_padre=340 OR id_padre=363 OR id_padre=382 OR id_padre=399 OR id_padre=418 OR id_padre=452 OR id_padre=472 OR id_padre=493
AND habilitado = '1' AND idioma= 'ES' AND clv_pais LIKE '%glob%'

y lo hace casi todo correctamente, solo que que muestra todos los registros sin respetarme el habilitado = 1

me podrian ayudar a resolcerlo

gracias de antemano
  #2 (permalink)  
Antiguo 10/07/2009, 15:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: duda de consulta

Código sql:
Ver original
  1. SELECT * FROM contenidos
  2. WHERE id_padre IN(19,179,197,etc.)
  3. AND habilitado = '1' AND idioma= 'ES'
  4. AND clv_pais LIKE '%glob%'

Pruebalo así y nos cuentas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 10/07/2009, 15:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: duda de consulta

Prueba así:
SELECT * FROM contenidos WHERE id_padre IN (19, 179, 197, 217, 233, 251, 270, 285, 303 ,322, 340, 363, 382, 399, 418, 452, 472, 493) AND habilitado = 1 AND idioma= 'ES' AND clv_pais LIKE '%glob%'

Perdón, huesos52. Nos pisamos.
  #4 (permalink)  
Antiguo 13/07/2009, 11:46
 
Fecha de Ingreso: junio-2008
Mensajes: 44
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: duda de consulta

gracias gracias me ha servido excelente y veo que se puede simplificar aun mas mi query ya que la solucion al que tenia yo solo eran unos parentesis al inicio de comenzar a validar el campo id_padre y al termino de este ya que al validar el mismo campo asi sea con 10 o mas valores lo toma como solo una validacion por ser el mismo campo

SELECT * FROM contenidos WHERE (id_padre=19 OR id_padre=179 OR id_padre=197 OR id_padre=217 OR id_padre=233 OR id_padre=251 OR id_padre=270 OR id_padre=285 OR id_padre=303 OR id_padre=322 OR id_padre=340 OR id_padre=363 OR id_padre=382 OR id_padre=399 OR id_padre=418 OR id_padre=452 OR id_padre=472 OR id_padre=493)
AND habilitado = '1' AND idioma= 'ES' AND clv_pais LIKE '%glob%'

gracias por el aporte los dos es bueno saber que tmb se puede utilizar otra manera, una cosa mas como puedo dar el tema por cerrado? o eso solo lo da el moderador?
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 07:11.