Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/07/2005, 03:24
Avatar de Vice
Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 5 meses
Puntos: 2
Tal como dices las cosas, es lo normal: cuando cruzas una tabla con otra en relación 1.N, sin especificar condiciones unívocas en la segunta tabla, pues te salen N registros.
Para lo que tú planteas tienes dos opciones: afinar la consulta de búsqueda y no cruzas con la segunda tabla (sería lo más lógico para optimizar) o limitas el resultado con "LIMIT 0,1".
Eso que pones tú como "una nueva forma de programar" no tiene nada de novedoso y es lo que yo te propongo como más idóneo. Eso sólo es condicionar la elaboración de la instrucción de consulta a los valores que recibes. Si no necesitas cruzar con una tabla ¿para qué hacerlo?, sólo consigues ralentizar la consulta y tener los problemas que tú mismo relatas.
Y la forma de hacerlo es tal cual la has puesto tú: si el campo x tiene valor, cruzas con la tabla que lo tiene, pones la condición de cruce de las tablas y estableces la restricción de búsqueda por ese valor.
Un saludo.
__________________
Estoy contagiado de Generación-I

Última edición por Vice; 05/07/2005 a las 04:02