Ciao ragazzi, non sono molto esperto di mysql e vi vorrei chiedere se è possibile ottimizzare una query. In breve...
Ho sotto mano un database strutturato in modo assurdo gestione magazzino con un'unica tabella; nella tabella ci inserisco i reparti, la merce e il personale;
i campi sono: id, tipo, id_up, nome
tipo=r indica che è un reparto; tipo=m è una merce; tipo=p è uno del personale;
quando inserisco merce o personale, nel campo id_up metto l'id del reparto;
quando inserisco un reparto metto id_up=0;
i dati della tabella magazzino per esempio potrebbero essere questi:
id, tipo, id_up, nome
1, 'r', 0, 'detersivi' (reparto detersivi con id=1)
2, 'm', 1, 'detersivo per piatti' (merce del reparto 1)
3, 'm', 1, 'detersivo per pavimenti' (merce del reparto 1)
4, 'p', 1, 'mario rossi' (personale del reparto 1)
.....
Partendo da un qualsiasi prodotto devo risalire al personale adetto al reparto. Ossia partendo da 'detersivo per piatti' devo risalire a 'mario rossi'.
Al momento faccio 2 query:
"select id_up from magazzino where id=2" (prendo id_up dal prodotto)
mi salvo id_up in una variabile (abc) e poi
"select nome from magazzino where id_up=abc"
e quindi con un semplice ciclo while ho i nomi degli addetti al reparto dei detersivi.
Posso ottenere i nomi del personale con un'unica query partendo dall'id prodotto??
Grazie mille