Estrazione dati DB da lista

wega

Nuovo Utente
11 Apr 2014
1
0
0
Salve a tutti sono nuovo del forum ed anche un recente utilizzatore di mySQL (lo sto facendo per un lavoro di tesi specialistica).
Ho un problema.
Allora parto dal principio: ho un db di un supermercato con circa 22mln di record, le colonne della tabella (chiamata "estrazione") sono
id del punto vendita > cod_negozio
nome punto vendita > localita
id prodotto > cod_articolo
nome prodotto > des_articolo
quantità di prodotto di una spedizione > qta_evasa
data di spedizione > data_partenza_bolla
ed altre due o tre che non sono in questo momento rilevanti.

Ora, la mia necessità è quella di calcolare, per ogni singolo punto vendita, il coefficiente di variazione relativo, ovvero la differenza (in termini percentuali) della quantità di un singolo prodotto cumulata annualmente (il db è annuale e contiene spedizioni giornaliere ad ogni punto vendita) rispetto alla media di tutti i punti vendita per quel singolo prodotto.

Allora, per questo problema ho (in modo rustico penso, sono comunque nuovo alla cosa) trovato la seguente soluzione

SELECT
localita,
(((pasta / (select avg(pasta) from
(SELECT
localita,
Sum(if(des_articolo LIKE '%pasta%', qta_evasa, 0)) as pasta
FROM
estrazione
GROUP BY localita
) as A)) - 1)*100) as perpasta

from
(SELECT
localita,
Sum(IF(des_articolo LIKE '%pasta%', qta_evasa, 0)) as pasta
FROM
estrazione
GROUP BY localita
ORDER BY localita) as B
GROUP BY localita
HAVING perpasta > 0
ORDER BY perpasta desc;

Questa mi restituisce il coeff di variazione relativa rispetto al prodotto pasta per tutti i punti vendita in cui questo valore è positivo.
Ora, il problema è che dovrei effettuare questa operazione per una serie di prodotti (pane, carne, etc etc) di cui ho anche un elenco (con rispettivi e molteplici id, per cui potrei usare questi invece della ricerca semantica) in un altra tabella che ho chiamato "prodotti" in modo che mi restituisca una tabella avente come colonne
cod_articolo (o des_articolo)
perprodotto1 (in questo caso "perpasta", ovvero il suddetto coeff di variazione relativa per il prodotto pasta)
perprodotto2 (ad esempio "perpane"...)
etc
etc

Vorrei sapere come fare questo senza ripetere n volte la query ma attingendo alla tabella "prodotti" ed eventualmente sostituendo la parola "pasta" con "pane" etc per le diverse colonne della tabella risultante.
Sono il alto mare, mi sembra abbastanza complicato ed in rete non trovo materiale.
Attendo vostre notizie!
grazie in anticipo e buona giornata a tutti!
 
Ultima modifica:

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
La tua query mi confonde un po circa la struttura del tuo database.
Riesci ad allegarla alla discussione con il dump di non più di un migliaio di record? (se compatti un dump sql con 7z dovresti riuscire a comprimere enormemente le dimensioni)

A logica dovresti risolvere unendo ai risultati i valori della tabella prodotti e poi gruppando il recordset per punto vendita e prodotto, ma come dicevo la tua query mi fa capire che non ci sono di mezzo solo le tabelle prodotto ed estrazione.
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Progressbar estrazione dati da tabella mySQL Ajax 9
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
D Chiave unica in estrazione dati da array php PHP 0
ronny1710 Estrazione Dati Tessera Sanitaria .NET Framework 1
creatorweb [PHP] estrazione ciclica dati con 2 dati alla volta PHP 2
Gigi87 [PHP] Estrazione dati da forum o da social network PHP 1
L estrazione dati da mysql in php e salvataggio in cartella del server PHP 51
E [PHP] estrazione dati in modo non continuativo PHP 1
C Estrazione Dati da Pagine Gialle PHP 0
A Estrazione dati da tabella sql MySQL 27
T Codice per estrazione dati da db PHP 4
L estrazione dati per login PHP 0
W Estrazione dati da DB PHP 20
L Estrazione dati per settimana. PHP 13
L estrazione dati e immagini in contemporanea PHP 4
M estrazione dati casuali da database Database 0
C [PHP][MY SQL] - Estrazione dati database tramite form PHP 8
G estrazione dati da DB tramite PHP errore time out PHP 2
B Estrazione dati utente loggato MySQL 1
M Connessione Database ed estrazione dati Javascript 6
A [risolto] Istruzione per estrazione di dati casuali dal db PHP 25
B Estrazione dati Classic ASP 3
U Estrazione dati da un db con un menu selezione in cascata PHP 6
Sargon estrazione dati PHP 17
A Estrazione dati da file.html PHP 8
G estrazione dati da xml ed inserimento in db PHP 0
P Menu a discesa con estrazione dati da datbase mysql PHP 21
M problema con estrazione dati da più tabelle MySQL 1
A problema: estrazione dati da query mysql e assegnazione ad una variabile PHP 2
L Estrazione dati PHP 32
M caratteri speciali ed estrazione dati Database 4
L Estrazione dati da 2 tabelle non relazionate Classic ASP 26
R Aiuto estrazione dati Database 0
G estrazione dati da più record in un solo nuovo campo Database 0
E Difficile estrazione dati da tabella PHP 3
L Estrazione valori max su più campi MySQL 4
M [PHP] Estrazione random con nomi presi dal db PHP 22
gandalf1959 Estrazione e visualizzazione del simbolo dell'euro php/mysqli PHP 0
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
V Estrazione di una singola banda da file multi banda (RGB) con Python Programmazione 0
O [PHP] problema estrazione immagine da db PHP 12
V [PHP] Estrazione con SQL PHP 1
M [MS Access] Estrazione record multipli MS Access 1
S [PHP] estrazione dal DB complicata PHP 7
asevenx [Javascript] Estrazione dal database di un valore in base ad una scelta Javascript 7
S Php e mysql, estrazione da una tabella e inserimento in un'altra tabella PHP 14
P Probelma estrazione stringa PHP 5
L Estrazione Articoli Random da Tabella senza doppioni PHP 1
gandalf1959 Estrazione di un singolo dato da una ricerca mysql PHP 1

Discussioni simili