Ir al contenido


Foto

Articulos no vendidos por cliente


  • Por favor identifícate para responder
1 respuesta en este tema

#1 itsspxndx

itsspxndx

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 20 octubre 2016 - 04:44

Buenos dias o buenas tardes amigos. Necesito apoyo de este foro, vengo trabajando sobre una consulta que parece ser muy sencillo pero por mas que le busco, aun no logro concretarlo bien.
Lo que necesito es llamar todos los articulos no vendidos pero por cada cliente, Mis tablas son la siguiente (solo puse campos necesario):

tabla que almacenan todos los artículos
ARTICULOS
articulo_id
Nombre

tabla que almacena los movimientos vendidos de cada articulo
DOCTO_VE_DET
docto_ve_det_id
docto_ve_id
articulo_id

tabla que almacena los documentos ligados con los movimientos y clientes
DOCTO_VE
docto_ve_id
cliente_id

codigo que he realizado

Código SQL [-]
FOR SELECT A.ARTICULO_ID
FROM ARTICULOS A
LEFT JOIN DOCTOS_VE_DET B
ON B.ARTICULO_ID = A.ARTICULO_ID
LEFT JOIN DOCTOS_VE C
ON C.DOCTO_VE_ID = B.DOCTO_VE_ID
AND C.CLIENTE_ID = 18634 (id de un cliente de ejemplo)
WHERE B.ARTICULO_ID IS NULL
INTO ARTICULO_ID
DO SUSPEND;

Pero no me ha funcionado, siempre me llama a todos los articulos sin respetar al cliente que he referenciado.
frown.gif¿Alguien puede ayudarme por favor?


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 21 octubre 2016 - 09:06

Hola


php
  1. FOR SELECT
  2. A.ARTICULO_ID
  3. FROM ARTICULOS A
  4. LEFT JOIN DOCTOS_VE_DET B ON B.ARTICULO_ID = A.ARTICULO_ID
  5. LEFT JOIN DOCTOS_VE C ON C.DOCTO_VE_ID = B.DOCTO_VE_ID
  6. WHERE B.ARTICULO_ID IS NULL AND C.CLIENTE_ID = 18634 (id de un cliente de ejemplo)
  7. INTO ARTICULO_ID
  8. DO SUSPEND;

Tu problema es que tienes el filtro del cliente en el JOIN pero necesitas hacerlo en el WHERE. 

 

Saludos


  • 0




IP.Board spam blocked by CleanTalk.