Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Crear una ciclo de analisis de datos en sql

Estas en el tema de Crear una ciclo de analisis de datos en sql en el foro de SQL Server en Foros del Web. Hola a todos tengo una consulta ya me da los datos que requiero solo que quiero un poco mas, lo que quiero hacer pero no ...
  #1 (permalink)  
Antiguo 15/01/2020, 17:03
 
Fecha de Ingreso: abril-2015
Mensajes: 122
Antigüedad: 4 años, 9 meses
Puntos: 0
Crear una ciclo de analisis de datos en sql

Hola a todos tengo una consulta ya me da los datos que requiero solo que quiero un poco mas, lo que quiero hacer pero no se como se maneja en sql es que con estos datos que tengo me arroje la mejor opción en base a mi costo.

Es una orden de compra que realiza el usuario con esta orden de compra el sistema analiza si fue la mejor opción en base a a una lista de precios con diferentes proveedores

Este es mi codigo

Código SQL:
Ver original
  1. SELECT A1.PO_No,A7.Name,A1.Supplier_No,A5.Supplier_Code,A2.Line_Item_No,A3.Item_No,A3.Description,A2.Unit_Price,A2.Unit,A1.Currency_Code,A4.Supplier_No,A6.Supplier_Code,
  2. A4.Unit_Price,A4.Lead_Time FROM Purchasing_v_PO_e A1
  3. INNER JOIN Purchasing_v_Line_Item_e A2 ON A1.PO_Key = A2.PO_Key
  4. INNER JOIN Purchasing_v_Item_e A3 ON A3.Item_Key = A2.Item_Key
  5. INNER JOIN Purchasing_v_Item_Supplier_Price_e A4 ON A4.Item_Key = A2.Item_Key
  6. LEFT JOIN Common_v_Supplier_e A5 ON A5.Supplier_No =  A1.Supplier_No
  7. LEFT JOIN Common_v_Supplier_e A6 ON A6.Supplier_No =  A4.Supplier_No
  8. LEFT JOIN Common_v_Department_e A7 ON A7.Department_No = A1.Department_No
  9. WHERE A7.Name = @DEPARTAMENTO
  #2 (permalink)  
Antiguo 16/01/2020, 07:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 13 años, 5 meses
Puntos: 774
Respuesta: Crear una ciclo de analisis de datos en sql

Explicate mejor que quieres, con un ejemplo de datos de ser posible
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 16/01/2020, 07:57
 
Fecha de Ingreso: abril-2015
Mensajes: 122
Antigüedad: 4 años, 9 meses
Puntos: 0
Respuesta: Crear una ciclo de analisis de datos en sql

tengo una orden de compra.

estos son los campos de mi orden de compra

A1.PO_No (Numero de orden de compra)
A1.Supplier_No (Proveedor de la orden de compra)
A2.Line_Item_No (Artículos por linea)
A2.Unit_Price (Precio unitario de la orden de compra)



y los quiero comparar con una lista de precios que tengo para que me regrese si con el proveedor que tengo mi orden es el mejor en base al precio.

A4.Supplier_No (ID_Proveedor en la lista de precios)
A4.Unit_Price ( Predio de la lista de precios)
A4.Lead_Time (tiempo de entrega de la lista de precios)

entonces lo que requiero es primero sacar mi mejor precio de ese articulo que quiero comprar y luego compara el precio entre mi orden de compra y el precio de mi lista.
  #4 (permalink)  
Antiguo 16/01/2020, 11:02
 
Fecha de Ingreso: abril-2015
Mensajes: 122
Antigüedad: 4 años, 9 meses
Puntos: 0
Respuesta: Crear una ciclo de analisis de datos en sql

creo que ya lo tengo

Código SQL:
Ver original
  1. SELECT
  2.  
  3. A1.PO_No,A7.Name,A1.Supplier_No,A5.Supplier_Code,A2.Line_Item_No,
  4. A3.Item_No,A3.Description,A2.Unit_Price,A2.Unit,A1.Currency_Code,
  5. A4.Supplier_No,A6.Supplier_Code,
  6. A4.Unit_Price,A4.Lead_Time,
  7.  
  8. CASE
  9. WHEN A2.Unit_Price > (SELECT MIN( Unit_Price) FROM Purchasing_v_Item_Supplier_Price_e
  10. WHERE Item_Key = A2.Item_Key)  THEN 'EXISTE UN MEJOR PRECIO'
  11. WHEN A2.Unit_Price <= (SELECT MIN( Unit_Price) FROM Purchasing_v_Item_Supplier_Price_e
  12. WHERE Item_Key = A2.Item_Key) THEN 'NO'
  13. END,
  14. (SELECT MIN( Unit_Price) FROM Purchasing_v_Item_Supplier_Price_e
  15. WHERE Item_Key = A2.Item_Key)
  16.  
  17.  
  18. FROM Purchasing_v_PO_e A1
  19. INNER JOIN Purchasing_v_Line_Item_e A2 ON A1.PO_Key = A2.PO_Key
  20. INNER JOIN Purchasing_v_Item_e A3 ON A3.Item_Key = A2.Item_Key
  21. INNER JOIN Purchasing_v_Item_Supplier_Price_e A4 ON A4.Item_Key = A2.Item_Key
  22. LEFT JOIN Common_v_Supplier_e A5 ON A5.Supplier_No =  A1.Supplier_No
  23. LEFT JOIN Common_v_Supplier_e A6 ON A6.Supplier_No =  A4.Supplier_No
  24. LEFT JOIN Common_v_Department_e A7 ON A7.Department_No = A1.Department_No
  25. WHERE A7.Name = 'Produccion'

lo pueden revisar y comentar



La zona horaria es GMT -6. Ahora son las 07:19.