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

Busqueda selectiva segun valores

Estas en el tema de Busqueda selectiva segun valores en el foro de Mysql en Foros del Web. Hola chicos, estoy haciendo una busqueda y tengo problemas con ella. Tengo 2 tablas: componentes y propiedades. Un componente tienenvarias propiedades, es decir la relacion ...
  #1 (permalink)  
Antiguo 17/02/2011, 02:46
 
Fecha de Ingreso: diciembre-2003
Mensajes: 148
Antigüedad: 20 años, 4 meses
Puntos: 0
Busqueda selectiva segun valores

Hola chicos, estoy haciendo una busqueda y tengo problemas con ella. Tengo 2 tablas: componentes y propiedades. Un componente tienenvarias propiedades, es decir la relacion es de una a varios. En mi pantalla de busqueda selecciono las propiedades que deseo. Sin embargo mi query no funciona. Es debido a que myquery hace un AND al mismo record y nunca va pasar que un record tenga valores diferentes. La idea es capturar el componente que tenga en la tabla de propiedades los valores que seleccione.

Código MySQL:
Ver original
  1. SELECT C.* FROM `components` AS C INNER JOIN `properties` AS P ON C.`component_id` = P.`component_id`
  2. (P.`property_id` = 2 AND P.`value` = 'AAA0A6')
  3. (P.`property_id` = 758 AND P.`value` = '1')

Espero me puedan ayudar.
Gracias
  #2 (permalink)  
Antiguo 17/02/2011, 03:33
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Busqueda selectiva segun valores

Esa condicion nunca se cumplirá porque estás diciendo que propierty_id sea 2 y 758 y obviamente no puede ser las dos cosas a la vez. Si quieres sacar los de id 2 y 758 sustituye el AND por un OR y listo

Código SQL:
Ver original
  1. SELECT C.*
  2. FROM `components` AS C
  3. INNER JOIN `properties` AS P ON
  4. C.`component_id` = P.`component_id`
  5. WHERE
  6. (P.`property_id` = 2 AND P.`value` = 'AAA0A6')
  7. OR
  8. (P.`property_id` = 758 AND P.`value` = '1')

Etiquetas: busquedas
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 19:14.