Query para obtener detalle de item y uom price

Buenas tardes, estoy tratando de crear un query que me de los siguientes datos (itemcode, barcode, itemname, unitprice, UOMprice) de un artículo en específico, pero algo está mal creo

los 42.17 es el UOM price y los 1.15 es el precio regular por unidad

en el query obtengo esto:

pero el query deberia mostrar ambos precios en una sola línea o registro no en dos separadas, no sé como puedo corregir esto?

este es el query actual:

select t1.itemcode as ItemCode, t1.CodeBars as CodeBars, t1.ItemName as ItemName, MAX(case when T0.PriceList = 2 then t0.Price else null end)  as UOMPRICE, t1.UpdateDate,


MAX(case when T0.PriceList = 1 then t0.Price else null end) as UNITPRICE,


CASE t1.VatGourpSa when 'V0' THEN 4 when 'V1' THEN 1 WHEN 'V2' THEN 2 WHEN 'V3' THEN 3 END as TaxCode from ITM1 T0


inner join oitm t1 on t0.itemcode = t1.itemcode


inner join ouom t2 on t2.uomentry = t0.uomentry and t0.Price <> '0.000000' where t1.ItemCode='32436'


GROUP BY  t1.itemcode, t1.CodeBars, t1.ItemName,  t1.UpdateDate, t1.VatGourpSa


union


select t1.itemcode as ItemCode, t1.CodeBars as CodeBars, t1.ItemName as ItemName, MAX(case when T0.PriceList = 1 then t0.Price else null end) as UOMPRICE, t1.UpdateDate,


MAX(case when T0.PriceList = 2 then t0.Price else null end) as Price2,


CASE t1.VatGourpSa when 'V0' THEN 4 when 'V1' THEN 1 WHEN 'V2' THEN 2 WHEN 'V3' THEN 3 END as TaxCode from ITM9 T0


inner join oitm t1 on t0.itemcode = t1.itemcode


inner join ouom t2 on t2.uomentry = t0.uomentry and t0.Price <> '0.000000' where t1.ItemCode='32436'


GROUP BY t1.itemcode, t1.CodeBars, t1.ItemName, t1.UpdateDate,  t1.VatGourpSa```

Buen Día @Alexis_Gaitan.

Creo que estás abordando la consulta de una manera incorrecta, ya que la relación del artículo vs las unidades de medida no es 1 a 1, sino que tienes un articulo relacionado con múltiples unidades de medida, por lo tanto la consulta te dará una cantidad de líneas igual a la cantidad de unidades de medida que tengas.

Si lo requieres en una sola línea, quizá lo más conveniente sería usar algo como esto.

Select T1.ItemCode, T1.ItemName, T1.CodeBars, (Select a los precios de unidad de medida para cajas) as UOM_Price, (Select a los precios de unidad de medida para unidades) as UnitPrice
From OITM T1
Where t1.ItemCode=‘32436’

De esta manera te otorgaría el precio en columnas en la misma línea.

1 me gusta

excelente, mil gracias no pensé que hacer subqueries era la solución, saludoss

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.