andybiancoblu
08-11-2016, 11:16
Salve a tutti, spero di essere il più chiaro possibile per il problema che ho riscontrato in una SELECT che dovrei correggere.
Ho un DB MySQL pr un'azienda che produce tessuti, un applicativo PHP si occupa di inserire nel DB il peso di ogni rotolo di tessuto prodotto a cui vengono associate differenti percentuali di materia prima utilizzata (filato)
La pagina relativa al magazzino filati (materia prima) deve calcolare le rimanenze di filati.
Ho tre tabelle: 1 filati(dove c'è un colonna calcolata in base alle join con le alttre due tabelle); 2 pezze_filati (dove viene registrata ogni rotolo o pezza numerata con ID del filato utilizzato e relativa percentuale); 3 packing_list (dove vengono registrati tutti i rotoli o pezze con numero e kg)
La select è la seguente:
SELECT A. * , A.kg_init - ( SUM( C.kg_pezza ) * B.perc_fil - SUM( C.kg_pezza ) * A.perc_calo ) AS kg_mag FROM filati AS A LEFT JOIN pezze_filati AS B ON A.ID_filato = B.ID_filato LEFT JOIN packing_list AS C ON B.n_pezza = C.n_pezza GROUP BY A.ID_filato
Spero qualcuno possa aiutarmi a trovare l'errore nella colonna calcolata perchè hanno riscontrato delle discrepanze nel magazzino piuttosto elevate.
Grazie in anticipo
Ho un DB MySQL pr un'azienda che produce tessuti, un applicativo PHP si occupa di inserire nel DB il peso di ogni rotolo di tessuto prodotto a cui vengono associate differenti percentuali di materia prima utilizzata (filato)
La pagina relativa al magazzino filati (materia prima) deve calcolare le rimanenze di filati.
Ho tre tabelle: 1 filati(dove c'è un colonna calcolata in base alle join con le alttre due tabelle); 2 pezze_filati (dove viene registrata ogni rotolo o pezza numerata con ID del filato utilizzato e relativa percentuale); 3 packing_list (dove vengono registrati tutti i rotoli o pezze con numero e kg)
La select è la seguente:
SELECT A. * , A.kg_init - ( SUM( C.kg_pezza ) * B.perc_fil - SUM( C.kg_pezza ) * A.perc_calo ) AS kg_mag FROM filati AS A LEFT JOIN pezze_filati AS B ON A.ID_filato = B.ID_filato LEFT JOIN packing_list AS C ON B.n_pezza = C.n_pezza GROUP BY A.ID_filato
Spero qualcuno possa aiutarmi a trovare l'errore nella colonna calcolata perchè hanno riscontrato delle discrepanze nel magazzino piuttosto elevate.
Grazie in anticipo