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

Se pueden poner varios AND en una consulta

Estas en el tema de Se pueden poner varios AND en una consulta en el foro de Mysql en Foros del Web. Hola gente ,la pregunta la resumo en el título , ¿se pueden poner varios AND en una consulta?, sino se puede como sería algo similar ...
  #1 (permalink)  
Antiguo 29/03/2011, 17:44
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Se pueden poner varios AND en una consulta

Hola gente ,la pregunta la resumo en el título , ¿se pueden poner varios AND en una consulta?, sino se puede como sería algo similar a esto.

Código:
SELECT * FROM ga_tabla  WHERE catid='53'  AND catid='43'  AND catid='35'  AND catid='36'  AND catid='37'  AND catid='38'  AND catid='39'  AND catid='40'  AND catid='41'  AND catid='42'  AND catid='47'  AND catid='48'  AND catid='49'  AND catid='50'  AND catid='51'  AND catid='52'
Tengo un bucle PHP que me genera este código, pero no encuentra nunca nada y en cambio debería de hacerlo, ya que esas ids de categoráis existen, pero seguro que hay otra forma que yo no conozco mejor de hacer esta consulta, ¿me equivoco?.

Mil gracias
__________________
Videotutoriales de Drupal
  #2 (permalink)  
Antiguo 29/03/2011, 19:17
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 98
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Se pueden poner varios AND en una consulta

Lo que estas pidiendo es ilogico...
si catid tiene un valor no puede tener otro al mismo tiempo por eso nunca te va a devolver ningun registro
  #3 (permalink)  
Antiguo 30/03/2011, 01:59
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Se pueden poner varios AND en una consulta

Cita:
Iniciado por asdmaster Ver Mensaje
Lo que estas pidiendo es ilogico...
si catid tiene un valor no puede tener otro al mismo tiempo por eso nunca te va a devolver ningun registro
Ok , no te preocupes si es que ya me he dado cuenta que es una gilipollez (eso pasa por preguntar a esas horas de la madrugada jeje).

Lo que tengo que hacer es un join con la tabla de las categorías para que me devuelva todas las subcategorías con la misma categoría padre.

Mil gracias
__________________
Videotutoriales de Drupal
  #4 (permalink)  
Antiguo 30/03/2011, 05:10
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, 5 meses
Puntos: 2658
Respuesta: Se pueden poner varios AND en una consulta

Si quieres obtener todos los registros que puedan tener el valor de ese campo dentro de un conjunto, puedes usar IN():
Código MySQL:
Ver original
  1. FROM ga_tabla  
  2. WHERE catid IN(35, 36, 37, 38, 39, 40, 41, 42, 43, 47, 48, 49, 50, 51, 52, 53)
Si el conjunto está dentro de un rango, es mejor usar BETWEEN:
Código MySQL:
Ver original
  1. FROM ga_tabla  T1
  2. WHERE (catid BETWEEN 35 AND 43) OR (catid BETWEEN 47 AND 53)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 30/03/2011, 14:40
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Se pueden poner varios AND en una consulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si quieres obtener todos los registros que puedan tener el valor de ese campo dentro de un conjunto, puedes usar IN():
[HIGHLIGHT="MySQL"]SELECT *
FROM ga_tabla
WHERE catid IN(35, 36, 37, 38, 39, 40, 41, 42, 43, 47, 48, 49, 50, 51, 52,
Gracias no conocía lo de IN, de todas formas creo que el join es más corto y más apropiado en mi caso.
Un saludo
__________________
Videotutoriales de Drupal
  #6 (permalink)  
Antiguo 30/03/2011, 19:53
Avatar de Hs_Jeldres  
Fecha de Ingreso: marzo-2011
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Se pueden poner varios AND en una consulta

SELECT * FROM ga_tabla WHERE catid>='35' and catid<='43' or catid>='47' and catid<='52';

ojala entiendas la idea,

saludos.

Última edición por Hs_Jeldres; 30/03/2011 a las 19:59

Etiquetas: Ninguno
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 08:56.