Salve a tutti,
un ennesimo problema e dubbio mi attanaglia![]()
Facciamo un esempio su un catalogo prodotti: se voglio, in fase di inserimento, scegliere in quali categorie inserire il prodotto, mi sono sempre comportato in questo modo
Tabella Categorie (ID,Nome,Descrizione)
...e la tabella prodotti fatta in questo modo
ID | ID_Categoria | Nome | ecc...
1 |1| Palla
2 |2| Casa
3 |1|2| Sci
In questo modo, riesco ad inserire un prodotto in più categorie (creando nel campo ID_Categoria, una specie di array delle categorie) ...senza duplicare lo stesso record (con tutti i campi) cambiando solo l'ID_Categoria.
Sia in inserimento, che visualizzazione non ho mai avuto problemi. La nuova esigenza nasce dal fatto che ho inserito un campo numero "ordine" per spostare il prodotto sotto o sopra gli altri, e quindi ordinando la query in base al campo ordine, che contiente 1,2,3,4 ecc...
Non avevo pensato però che quando vado a fare le operazioni su questo campo, mi cambia l'ordine del prodotto, senza calcolare che lo stesso è inserito in 2 categorie diverse, e che quindi dovrei utilizzare un numero per l'ordinamento, diverso per ogni categoria.
Ho quindi pensato a modificare il campo ordine, da numerico, a semplice testo, cambiando il contenuto, da 1 a |1| ...e, nel caso fosse presente in 2 categorie in |1|3| ...in questo modo avrei 2 specie di array, ...in corrispondenza avrei, per il primo numero nell'array categorie, un numero di ordine ..e così via.
Teoricamente dovrebbe funzionare, ma mi sto un pò impallando in questo:
La tabella diventa:
ID | ID_Categoria | Nome | Ordine
1 |1| Palla |3|
2 |2| Casa |3|
3 |1|2| Sci |2|1|
4 |1|2| Mouse |1|2|
Voglio ordinare, ad esempio, la categoria 1, che contiene Palla,Sci e Mouse ...l'ordine dovrebbe essere Mouse,Sci,Palla ...
Come eseguo la query ?
PS: se qualcuno ha letto fin qui, e ci ha capito qualcosa, gli regalo il mio nuovo mouse laser !![]()


Rispondi quotando
...grazie 1000
