Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/12/2007, 12:06
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años
Puntos: 7
Re: Consulta LEFT INNER JOIN no me funciona

Según parece, quieres el primer código por población en orden ascendente...
Podrías solucionarlo con un query correlacionado.
Código:
select  a.poblacion,
 (
     select  min(codigo)
     from    estados as b
     where   a.poblacion = b.poblacion
 ) as codigo
from     poblaciones as a
 
Otra opción si estás usando SQL Server 2005 es que utilices la función de ranking ROW_NUMBER:
Código:
SELECT      a.poblacion, b.codigo
FROM        poblaciones AS a
LEFT JOIN   (
     SELECT  ROW_NUMBER() OVER(PARTITION BY poblacion ORDER BY codigo)AS rn,
             codigo,
             poblacion
     FROM    estados
 ) AS b
 ON a.poblacion = b.poblacion
 AND b.rn = 1 
La segunda opción podría ser más eficiente, ya que sólo hace una pasada para cada una de las tablas.