Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2013, 13:58
Avatar de hmvr414
hmvr414
 
Fecha de Ingreso: marzo-2011
Ubicación: Santiago de Cali, Colombia
Mensajes: 74
Antigüedad: 13 años, 1 mes
Puntos: 16
SELECT de la fila mas completa

Hola a todos,

En SQL Server 2008 R2 tengo la siguiente consulta:

Código SQL:
Ver original
  1. SELECT CODARTICULO, REFPROVEEDOR, NOMBRE = A.DESCRIPCION, DESCRIPADIC, FOTO, FAM = F.DESCRIPCION, SF.DESCRIPCION, L.DESCRIPCION
  2.  
  3. FROM ARTICULOS A LEFT JOIN FAMILIAS F ON A.FAMILIA = F.NUMFAMILIA
  4. LEFT JOIN SUBFAMILIAS SF ON A.SUBFAMILIA = SF.NUMSUBFAMILIA
  5. LEFT JOIN LINEA L ON A.LINEA = L.CODLINEA

Lo que me da como resultado las siguientes tablas:

Código SQL:
Ver original
  1. COD REF     NOMBRE                                              FAMILIA     SUBFAMILIA  LINEA
  2. --- ---     ------                                              -------     ----------  ------
  3. 2   800001  T-SHIRT ADLT 180G ARITEX COLOR  NULL    NULL        CAMISETA    NULL        HOMBRE
  4. 2   800001  T-SHIRT ADLT 180G ARITEX COLOR  NULL    NULL        CAMISETA    CUELLO V    HOMBRE
  5. 2   800001  T-SHIRT ADLT 180G ARITEX COLOR  NULL    NULL        CAMISETA    NULL        HOMBRE
  6. 2   800001  T-SHIRT ADLT 180G ARITEX COLOR  NULL    NULL        CAMISETA    CUELLO V    HOMBRE
  7. 3   601238  BUSO MODA ADULTO SUISSE URBAN   NULL    NULL        CAMISETA    NULL        NIÑA
  8. 3   601238  BUSO MODA ADULTO SUISSE URBAN   NULL    NULL        CAMISETA    CUELLO V    NIÑA
  9. 3   601238  BUSO MODA ADULTO SUISSE URBAN   NULL    NULL        CAMISETA    NULL        NIÑA
  10. 3   601238  BUSO MODA ADULTO SUISSE URBAN   NULL    NULL        CAMISETA    CUELLO V    NIÑA
  11. 4   024204  BLUSA DAMA EMPAQUE MELY         NULL    NULL        CAMISETA    NULL        NIÑA
  12. 4   024204  BLUSA DAMA EMPAQUE MELY         NULL    NULL        CAMISETA    CUELLO V    NIÑA
  13. 4   024204  BLUSA DAMA EMPAQUE MELY         NULL    NULL        CAMISETA    NULL        NIÑA
  14. 4   024204  BLUSA DAMA EMPAQUE MELY         NULL    NULL        CAMISETA    CUELLO V    NIÑA

como pueden ver tengo hasta cuatro filas por cada producto por las variaciones en los tres ultimos campos FAMILIA, SUBFAMILIA y LINEA, pero solo estoy interezado en el campo por producto que tenga mas informacion, por ejemplo, si tengo los siguientes registros para un producto:

Código SQL:
Ver original
  1. COD NOMBRE      FAMILIA     SUBFAMILIA  LINEA
  2. --- ------      -------     ----------  -----
  3. 1   PRODUCTO 1  CAMISETAS   NULL        NULL
  4. 1   PRODUCTO 1  CAMISETAS   CUELLO V    NULL
  5. 1   PRODUCTO 1  CAMISETAS   CUELLO V    HOMBRE

quiero tomar solo el ultimo registro, que es el que tiene valores en todos los campos, pero si no hubiera un registro con valores en todos los campos, quiero tomar el segundo con mas informacion.

Hay alguna forma de hacer esto directamente en SQL??


Muchas gracias de antemano.

Última edición por hmvr414; 11/09/2013 a las 14:10 Razón: formateo tablas