Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- v.nome_modello,
- v.codice_modello,
- v.lenti_confezione,
- v.um,
- SUM( CASE WHEN v.tipologia = 'S' THEN v.venduto ELSE 0 END ) AS venduto_sito,
- SUM( CASE WHEN v.tipologia = 'N' THEN v.venduto ELSE 0 END ) AS venduto_negozi,
- IFNULL(d.disponibili,0) AS disponibili,
- IFNULL(a.da_acquistare,0) AS da_acquistare,
- IFNULL(o.ordinati,0) AS ordinati
- FROM (
- (SELECT
- lm.nome_modello,
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um,
- SUM(lao.qta) AS venduto,
- 'S' AS tipologia
- FROM
- lenses_archivio_clienti lac
- INNER JOIN lenses_archivio_ordini lao ON lao.clid = lac.clid
- INNER JOIN lenses_modelli lm ON lao.barcode = lm.barcode
- WHERE
- lm.id_produttore = <cfqueryparam cfsqltype="cf_sql_integer" VALUE="#idProduttore#" /> AND
- lac.data_ordine BETWEEN '#LSDateFormat(daData,'yyyy-mm-dd')# 00:00:00' AND '#LSDateFormat(aData,'yyyy-mm-dd')# 23:59:59'
- GROUP BY
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um
- HAVING
- venduto > 0
- ORDER BY
- venduto DESC)
- UNION ALL
- (SELECT
- lm.nome_modello,
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um,
- SUM(oi.qta_ordinata_fornitore) AS venduto,
- 'N' AS tipologia
- FROM
- ordini_ingrosso oi
- INNER JOIN lenses_modelli lm ON oi.barcode = lm.barcode
- WHERE
- lm.id_produttore = <cfqueryparam cfsqltype="cf_sql_integer" VALUE="#idProduttore#" /> AND
- oi.data_ordine BETWEEN '#LSDateFormat(daData,'yyyy-mm-dd')# 00:00:00' AND '#LSDateFormat(aData,'yyyy-mm-dd')# 23:59:59'
- GROUP BY
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um
- HAVING
- venduto > 0
- ORDER BY
- venduto DESC)
- ) AS v
- LEFT JOIN (
- SELECT
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um,
- IFNULL(
- SUM(
- CASE WHEN (lmm.tipo_magazzino = 'PRENOTATO' OR lmm.tipo_magazzino = 'OTTICA')
- THEN (CASE WHEN lmm.tipo_magazzino = 'PRENOTATO' THEN -lmm.qta ELSE lmm.qta END)
- ELSE 0
- END
- ),
- 0) AS disponibili
- FROM
- lenses_mag_movimenti_magazzino lmm
- LEFT JOIN lenses_modelli lm ON lm.barcode = lmm.barcode
- WHERE
- lm.id_produttore = <cfqueryparam cfsqltype="cf_sql_integer" VALUE="#idProduttore#" />
- AND lm.barcode IN (<cfqueryparam list="true" VALUE="#valueList(articoliVenduti.barcode)#" />)
- GROUP BY
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um
- HAVING
- disponibili > 0
- ) AS d ON d.codice_modello = v.codice_modello AND d.lenti_confezione = v.lenti_confezione AND d.um = v.um
- LEFT JOIN (
- SELECT
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um,
- IFNULL(SUM(lmm.qta),0) AS da_acquistare
- FROM
- lenses_mag_movimenti_magazzino lmm
- LEFT JOIN lenses_modelli lm ON lm.barcode = lmm.barcode
- WHERE
- lmm.tipo_magazzino = 'ACQUISTA'
- AND lm.id_produttore = <cfqueryparam cfsqltype="cf_sql_integer" VALUE="#idProduttore#" />
- AND lm.barcode IN (<cfqueryparam list="true" VALUE="#valueList(articoliVenduti.barcode)#" />)
- GROUP BY
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um
- ) AS a ON a.codice_modello = v.codice_modello AND a.lenti_confezione = v.lenti_confezione AND a.um = v.um
- LEFT JOIN (
- SELECT
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um,
- IFNULL(SUM(lof.qta_ordinata),0) AS ordinati
- FROM
- lenses_ordini_al_fornitore lof
- LEFT JOIN lenses_modelli lm ON lm.barcode = lof.barcode
- WHERE
- lm.id_produttore = <cfqueryparam cfsqltype="cf_sql_integer" VALUE="#idProduttore#" />
- AND lm.barcode IN (<cfqueryparam list="true" VALUE="#valueList(articoliVenduti.barcode)#" />)
- AND lof.qta_consegnata = 0
- AND lof.ana_negozi_dest = 1
- GROUP BY
- lm.codice_modello,
- lm.lenti_confezione,
- lm.um
- ) AS o ON o.codice_modello = v.codice_modello AND o.lenti_confezione = v.lenti_confezione AND o.um = v.um
- GROUP BY
- v.codice_modello,
- v.lenti_confezione,
- v.um
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement