Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/12/2009, 16:51
doomkel
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: problema con group by....

Cita:
Iniciado por flaviovich Ver Mensaje
Tendrías que hacer un subconsulta donde dejes uno de los dos. El criterio lo defines tu: puede ser el que tenga mas informacion, o prevalece el de tal compañia, etc.
Código sql:
Ver original
  1. SELECT DISTINCT a.codigo_id, b.talla, b.color, a.pzas
  2. FROM inventario a
  3. LEFT OUTER JOIN (
  4.     SELECT codigo_id, talla, color
  5.     FROM articulos
  6.     WHERE <criterio>
  7. ) b ON a.codigo_id = b.codigo_id

ok ahora si me diste la idea, tienes razon primero debo depurar la tabla de articulos basado en algun criterio, ya que no puedo eliminar clientes por que pueden existir articulos que no existen en el otro lo que hice fue numerar cada articulo con row_numer, asi si existian 2 de algun articulo solo tomaria el primero usando una subconsulta que lo ligara con la tabla inventarios, por lo que el select distinct no seria necesario

quedaria asi

SELECT A.codigo_id,V.codigo_id, V.TALLA, V.COLOR, A.PZAS FROM inventario A LEFT OUTER JOIN
(SELECT row_number() over(partition by codigo_id order by cliente) as 'num', * FROM ARTICULOS
) as V on A.codigo_id = V.codigo_id
WHERE V.num = 1

dandome el resultado que quiero

codigo_id codigo_id TALLA COLOR PZAS
2900001 2900001 CHICA ROJO 1
2900002 2900002 GRANDE AZUL 1
2900003 2900003 GDE VERDE 1

muchas gracias flaviovich creo que ahora si ya quedo