Salve gente, devo scrivere dell'sql che faccia il seguente lavoro:
Io ho scritto il seguente codice:Dal codice lotto bisogna andare a leggere i movimenti di magazzino con quel lotto (in ordine di prodotto/data movimento) e stampare tutto quello che si trova, con questo troviamo tutti i movimenti del lotto digitato ma non basta. Voglio anche sapere quel lotto da quale altro lotto è stato creato e qui entrano in gioco degli attributi specifici presenti sempre sui movimenti di magazzino:
- Num.Documenti di produzione (anno e numero) (solo nel caso in cui ci sia dentro qualcosa)
Tramite questo numero devo rileggere i movimenti di magazzino e vedere quali altri lotti materiali sono stati prelevati e stamparli. Considera che il ciclo potrebbe arrivare all'infinito, cioè il lotto a fatto dal lotto b fatto a sua volta dal lotto c fatto dal lotto d, ecc......
Ora del lotto 1234 mi ridà tutti i movimenti, però mi manca la parte che ricava quale lotto ha generato il lotto 1234.codice:SELECT lotti.`CODICE_LOTTO`, movimenti_magazzino.`NUMERO_MOVIMENTO`, movimenti_magazzino.`CODICE_ARTICOLO`, movimenti_magazzino.`CODICE_MAGAZZINO, movimenti_magazzino.`DATA_MOVIMENTO`, movimenti_magazzino.`CAUSALE_MOVIMENTO`, movimenti_magazzino.`QUANTITA_MOVIMENTO`, movimenti_magazzino.`NUMERO_DOC_PROD`, movimenti_magazzino.`ANNO_DOC_PROD`, tab_causali_magazzino.`DESCRIZIONE`, movimenti_magazzino.`UNITA_MISURA` FROM movimenti_magazzino RIGHT OUTER JOIN lotti ON movimenti_magazzino.`CODICE_LOTTO` = lotti.`CODICE_LOTTO` LEFT OUTER JOIN tab_causali_magazzino ON movimenti_magazzino.`CAUSALE_MOVIMENTO` = tab_causali_magazzino.`CODICE_CAUSALE` WHERE lotti.`CODICE_LOTTO` = '1234'
Come potrei fare?

Rispondi quotando
