En SQL Server 2008 R2 tengo la siguiente consulta:
Código SQL:
Ver original
SELECT CODARTICULO, REFPROVEEDOR, NOMBRE = A.DESCRIPCION, DESCRIPADIC, FOTO, FAM = F.DESCRIPCION, SF.DESCRIPCION, L.DESCRIPCION FROM ARTICULOS A LEFT JOIN FAMILIAS F ON A.FAMILIA = F.NUMFAMILIA LEFT JOIN SUBFAMILIAS SF ON A.SUBFAMILIA = SF.NUMSUBFAMILIA LEFT JOIN LINEA L ON A.LINEA = L.CODLINEA
Lo que me da como resultado las siguientes tablas:
Código SQL:
Ver original
COD REF NOMBRE FAMILIA SUBFAMILIA LINEA --- --- ------ ------- ---------- ------ 2 800001 T-SHIRT ADLT 180G ARITEX COLOR NULL NULL CAMISETA NULL HOMBRE 2 800001 T-SHIRT ADLT 180G ARITEX COLOR NULL NULL CAMISETA CUELLO V HOMBRE 2 800001 T-SHIRT ADLT 180G ARITEX COLOR NULL NULL CAMISETA NULL HOMBRE 2 800001 T-SHIRT ADLT 180G ARITEX COLOR NULL NULL CAMISETA CUELLO V HOMBRE 3 601238 BUSO MODA ADULTO SUISSE URBAN NULL NULL CAMISETA NULL NIÑA 3 601238 BUSO MODA ADULTO SUISSE URBAN NULL NULL CAMISETA CUELLO V NIÑA 3 601238 BUSO MODA ADULTO SUISSE URBAN NULL NULL CAMISETA NULL NIÑA 3 601238 BUSO MODA ADULTO SUISSE URBAN NULL NULL CAMISETA CUELLO V NIÑA 4 024204 BLUSA DAMA EMPAQUE MELY NULL NULL CAMISETA NULL NIÑA 4 024204 BLUSA DAMA EMPAQUE MELY NULL NULL CAMISETA CUELLO V NIÑA 4 024204 BLUSA DAMA EMPAQUE MELY NULL NULL CAMISETA NULL NIÑA 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
COD NOMBRE FAMILIA SUBFAMILIA LINEA --- ------ ------- ---------- ----- 1 PRODUCTO 1 CAMISETAS NULL NULL 1 PRODUCTO 1 CAMISETAS CUELLO V NULL 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.