Buongiorno.
Praticamente ho una tabella con dei prodotti identificata da CodProdotto una tabella spedizioni identificata da IdSpedizione e una tabella ordini dove memorizzo i vari prodotti ordinati, quindi identificata da CodProdotto + IdSpedizione.
Vorrei creare una vista che visualizza una lista dei prodotti che sono stati venduta in coppia ordinati in base ai più venduti.
Io ho scritto questo secondo voi va bene??
codice:- Visualizza i prodotti più venduti in coppia Vogliamo visualizzare le coppie di prodotti più venduti CREATE VIEW cod_prodotti_venduti_coppia AS SELECT p1.CodProdotto as Prod1, p2.CodProdotto as Prod2 FROM prodotti as p1 JOIN prodotti as p2 EXCEPT SELECT o1.CodProdotto as Prod1,o2.CodProdotto as Prod2 FROM ordini as o1 JOIN ordini as o2 WHERE o1.IdSpedizione<>o2.IdSpedizione CREATE VIEW prodotti_venduti_coppia AS SELECT p1.Modello as Mod1, p2.Modello as Mod2 FROM prodotti as p1 JOIN prodotti as p2 RIGHT JOIN prodotti_venduti_coppia ON prodotti_venduti_coppia.Prod1=p1.CodProdotto AND prodotti_veduti_coppia.Prod2=p2.CodProdotto
Ci sarebbe qualcosa di migliore? Inoltre qualcosa per inglobare anche la quantità acquistata per ordinare in base ai più venduti?????
Grazie mille metto sotto anche la struttura della tabella ordini le altre non servono bastano gli ID.
codice:Tabella Ordini CREATE TABLE `ordini` ( `IdSpedizione` int(9) NOT NULL , `CodProdotto` int(9) NOT NULL, `Richiesti` int(2) NOT NULL , `totale` double NOT NULL, PRIMARY KEY (`IdSpedizione`,`CodProdotto`), KEY `CodProdotto` (`CodProdotto`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;

Rispondi quotando