Avendo questa corretta :
codice:
SELECT
`valori_conta`.`magazzino`,
`valori_conta`.`codice_materiale`,
`valori_conta`.`numero_conta`,
`s`.`unita_misura`,
`s`.`codice_materiale` as `codice_sap`,
`s`.`valore_totale_sap`,
`s`.`valore_singolo_sap`,
`s`.`quantita_sap`,
`s`.`magazzino` as `magazzino_sap`,
`valori_conta`.`quantita_totale`,
(
`valori_conta`.`quantita_totale`
) * (`s`.`valore_singolo_sap`) as valore_record
FROM
`sap_dati_ricevuti` `s`
JOIN (
SELECT
c1.magazzino,
c1.codice_materiale,
c1.numero_conta,
sum(c1.quantita) as quantita_totale
FROM
conta_materiale c1
JOIN (
SELECT
max(numero_conta) as nc,
magazzino,
codice_materiale
FROM
conta_materiale
GROUP BY
magazzino,
codice_materiale
) c2 ON c1.codice_materiale = c2.codice_materiale
AND c1.numero_conta = c2.nc
AND c1.magazzino = c2.magazzino
WHERE
c1.id_inventario = 1
GROUP BY
c1.codice_materiale,
c1.magazzino,
c1.numero_conta
) valori_conta ON `s`.`codice_materiale` = `valori_conta`.`codice_materiale`
And `valori_conta`.`magazzino` = `s`.`magazzino`
Volevo sommare i totali dividendo per unità di misura ed ho provato così :
codice:
SELECT
SUM(
`valori_conta`.`quantita_totale`
) as somma_totale,
`s`.`unita_misura`
FROM
(
SELECT
`valori_conta`.`magazzino`,
`valori_conta`.`codice_materiale`,
`valori_conta`.`numero_conta`,
`s`.`unita_misura`,
`s`.`codice_materiale` as `codice_sap`,
`s`.`valore_totale_sap`,
`s`.`valore_singolo_sap`,
`s`.`quantita_sap`,
`s`.`magazzino` as `magazzino_sap`,
`valori_conta`.`quantita_totale`
FROM
`sap_dati_ricevuti` `s`
JOIN (
SELECT
c1.magazzino,
c1.codice_materiale,
c1.numero_conta,
sum(c1.quantita) as quantita_totale
FROM
conta_materiale c1
JOIN (
SELECT
max(numero_conta) as nc,
magazzino,
codice_materiale
FROM
conta_materiale
GROUP BY
magazzino,
codice_materiale
) c2 ON c1.codice_materiale = c2.codice_materiale
AND c1.numero_conta = c2.nc
AND c1.magazzino = c2.magazzino
WHERE
c1.id_inventario = 1
GROUP BY
c1.codice_materiale,
c1.magazzino,
c1.numero_conta
) valori_conta ON `s`.`codice_materiale` = `valori_conta`.`codice_materiale`
And `valori_conta`.`magazzino` = `s`.`magazzino`
)
Group BY
`s`.`unita_misura`
Ma non funziona perchè ?