Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2019
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Sintaxis SQL

Cordial saludo,
En una tabla MySQL tengo las siguientes tablas:
PRODUCTOS con los campos ID_PROD,DESCRIP
PROD_PREC (precio de los productos) con los campos ID_PROD,VR_PUBLI
BARRA (ventas del dia) con los campos PRODU, UNDS
INVENTARIO con los campos ID_PROD,S_UNDS

Al realizar esta consulta:
Código SQL [-]
SELECT P.ID_PROD,P.DESCRIP,V.VR_PUBLI,IFNULL(SUM(B.UNDS),0) OUT_UNDS,I.S_UNDS FROM PRODUCTOS P 
join PROD_PREC V ON P.ID_PROD = V.ID_PROD 
LEFT join BARRA B ON P.ID_PROD = B.PRODU 
LEFT JOIN INVENTARIO I ON P.ID_PROD = (SELECT M.ID_PROD FROM INVENTARIO M WHERE M.ID_PROD = P.ID_PROD ORDER BY FECHA DESC ) GROUP BY P.ID_PROD

Me da lo siguiente:



El error esta en S_UNDS que me esta sumando en total y no muestra por producto:



No se como hacer para que muestre las unidades correctas como en la imagen anterior.

Gracias
Responder Con Cita
  #2  
Antiguo 31-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Esto es "raro":


Código SQL [-]
LEFT JOIN INVENTARIO I ON P.ID_PROD = (SELECT M.ID_PROD FROM INVENTARIO M WHERE M.ID_PROD = P.ID_PROD ORDER BY FECHA DESC ) GROUP BY P.ID_PROD
Responder Con Cita
  #3  
Antiguo 31-10-2019
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Bueno te comento, S_UNDS es el saldo de unidades que hay en el inventario donde hay entradas y salidas y este campo arroja el saldo, este tiene como clave primaria FECHA y aqui trato de seleccionar la ultima fecha registrada de cada producto, la consulta deberia darme:
POKER - 24
AGUILA - 4

Pero arroja 24 en cada una.
Responder Con Cita
  #4  
Antiguo 31-10-2019
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Despues de mucho intentar lo logre:


Código SQL [-]
SELECT P.ID_PROD,P.DESCRIP,V.VR_PUBLI,IFNULL(SUM(B.UNDS),0) OUT_UNDS,I.S_UNDS 
FROM PRODUCTOS P 
join PROD_PREC V ON P.ID_PROD = V.ID_PROD  
LEFT join BARRA B ON P.ID_PROD = B.PRODU 
LEFT JOIN INVENTARIO I ON P.ID_PROD = I.ID_PROD 
GROUP BY P.ID_PROD 
ORDER BY I.FECHA DESC






Si alguien ve un error me ayuda con solucionarlo

Última edición por Casimiro Notevi fecha: 31-10-2019 a las 21:45:20.
Responder Con Cita
  #5  
Antiguo 01-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Este hilo continúa aquí...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sintaxis humana roman Debates 34 10-12-2010 17:31:25
Correccion de Sintaxis sierraja Firebird e Interbase 9 28-10-2008 23:34:14
Problema con sintaxis. zvf OOP 5 13-03-2007 20:19:21
Sintaxis en el SQL Alexander SQL 2 11-09-2006 18:13:17
Problemas con la sintaxis andre navarrete Conexión con bases de datos 2 13-08-2006 16:48:47


La franja horaria es GMT +2. Ahora son las 09:50:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi