PDA

View Full Version : [PHP-MYSQL..o altro..] eliminare righe da una tabella


faduns
24-02-2006, 12:39
salve a tutti..
stò impazzendo aiutatemi.. allora:
ho una tabella su mysql fatta cosi:

Ricetta | Ingrediente | Quantità INGREDIENTe
1 1 10
1 2 8
2 3 0
2 4 5
3 5 7
3 6 9
3 7 0
4 8 3
4 9 2


in pratica ogni ricetta può essere composta da 2 o 3 ingredienti. (per es: ricetta 1 è composta da ingr 1 e ingr 2) quando uno di questi ingredienti ha quantità pari a zero la ricetta non può essere prodotta.

io vorrei estrapolare solo le ricghe nelle quali le ricette possono essere prodotte, nell' esempio il mio output derivante da una query o script php dovrebbe essere:

ricetta | ingrediente |
1 1
1 2
4 8
4 9

in quanto la ricetta 2 e la ricetta 3 non possono essere prodotte visto che uno degli ingredienti necessari è pari a 0..

a me interessa il risultato, posso anche fare a meno di mysql e utilizzare.. nn so .. matlab... o roba simile..

cosa mi consigliate????
grazie a tutti.....

cionci
24-02-2006, 17:48
Se ho capito bene quello che vuoi rappresentare...la tabella è errata... Deve essere normalizzata formando due relazioni:

Tabella: Ricette
IDRicetta, IDIngrediente (tutta chiave)

Tabella: Ingredienti
IDIngrediente, Quantita

La query in questo caso diventa molto semplice:

SELECT IDRicetta
FROM Ricette INNER JOIN Ingredienti ON Ricette.IDIngrediente=Ingredienti.IDIngrediente
GROUP BY IDRicetta
HAVING Min(Quantita) > 0;

In questo modo hai le ricette che puoi "cucinare"...

Se vuoi gli ingredienti per ogni ricetta che vuoi cucinare ovviamente basta farti un'altra query...