MySQL - consulta sql convinada

 
Vista:
sin imagen de perfil

consulta sql convinada

Publicado por anonymous (3 intervenciones) el 19/08/2022 03:12:56
hola, quisiera consultar si alguien me puede ayudar con una consulta que necesito hacer. Se trata de dos tablas, la primera es "articulos" en la cual le doy ingreso a cada articulo y una segunda que registra cada ingreso al stock de los artículos (como fecha, un concepto que sería "ingreso", cantidad ingresada, costo del ingreso por ejemplo).
Lo que necesito es listar todos los artículos que tienen como proveedor predeterminado al 24(campo proveedor) de la tabla "articulos", con su valor de costo del último ingreso que esta en la tabla "historial_ingr_art" con la condición que ese ingreso sea del proveedor 24 (campo también de la tabla "historial_ingr_art") y su costo sea mayo a 0. Lo que he conseguido es armar una consulta combinada en la cual intento hacer una consulta con Inner Join a la misma tabla que sería "historial_ingr_art" para conseguir el maximo id de ingreso que cumpla con esa condición para así conseguir el dato requerido. El inconveniente que tengo es q en mi consulta no me muestra un artículo que si tiene como proveedor predeterminado al 24 pero sin embargo no registra ningún ingreso.. y yo quiero q también me lo liste sin ingresos.. bueno, si me pudieran dar alguna idea para seguir.. le agradezco. debajo les dejo el código de mi consulta:

SELECT art.Id, art.cod_art, art.descripcion, art.unid_Lote, his.costo, art.costoReal from articulos art

LEFT JOIN historial_ingr_art his on art.cod_art = his.cod_art
inner join (select h.cod_art, max(h.id) as max_id from historial_ingr_art h
where h.costo > 0 and h.nro_prov = 24 and h.concepto = 'ingreso' GROUP BY h.cod_art) ultimo on ultimo.cod_art = his.cod_art and ultimo.max_id = his.Id

where art.proveedor = 24 and IsNull(cod_refArt_Fracc) and art.estadoActivo = true
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder