Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/12/2011, 12:23
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: es posible crear una consulta asin...

hola pithon:

No termino de entender qué es lo que quieres obtener... es decir, a partir de los datos de ejemplo que pones en tu tabla ¿Cuál es la salida correcta?. Es posible que tengas un problema de JERARQUÍA DE OPERADORES, pues hay que recordar que las comparaciones AND se ejecutan antes que las comparaciones OR.

Código:
En matemáticas 1+2*4 NO ES LO MISMO QUE (1+2)*4
En Lógica relacional pasa algo similar:

Código SQL:
Ver original
  1. mysql> CREATE TABLE tabla (auto VARCHAR(10), color VARCHAR(10),
  2.     -> matricula INT);
  3. Query OK, 0 ROWS affected (0.17 sec)
  4.  
  5. mysql> INSERT INTO tabla VALUES ('coche1', 'rojo', 111),
  6.     -> ('coche2', 'verde', 222), ('coche3', 'azul', 333);
  7. Query OK, 3 ROWS affected (0.05 sec)
  8. Records: 3  Duplicates: 0  Warnings: 0
  9.  
  10. mysql> SELECT * FROM tabla;
  11. +--------+-------+-----------+
  12. | auto   | color | matricula |
  13. +--------+-------+-----------+
  14. | coche1 | rojo  |       111 |
  15. | coche2 | verde |       222 |
  16. | coche3 | azul  |       333 |
  17. +--------+-------+-----------+
  18. 3 ROWS IN SET (0.00 sec)
  19.  
  20. mysql> SELECT * FROM tabla
  21.     -> WHERE matricula=333 AND color='azul' OR auto='coche2';
  22. +--------+-------+-----------+
  23. | auto   | color | matricula |
  24. +--------+-------+-----------+
  25. | coche2 | verde |       222 |
  26. | coche3 | azul  |       333 |
  27. +--------+-------+-----------+
  28. 2 ROWS IN SET (0.01 sec)
  29.  
  30. mysql> SELECT * FROM tabla
  31.     -> WHERE matricula=333 AND (color='azul' OR auto='coche2');
  32. +--------+-------+-----------+
  33. | auto   | color | matricula |
  34. +--------+-------+-----------+
  35. | coche3 | azul  |       333 |
  36. +--------+-------+-----------+
  37. 1 ROW IN SET (0.00 sec)

Esto igual no tiene nada que ver con el planteamiento de tu problema, pero sería conveniente que lo revises. En cuanto a tu problema, pues sigo sin entender por qué es necesario poner los tres campos en la búsqueda... a final de cuentas, si lo único que te interesa es la matrícula, pues es el que deberías utilizar.

Código:
EDITADO: Veo que el compañero gnzsoloyo ya publicó lo mismo jejeje... espero que la explicación te sirva para ver el problema
Saludos
Leo.