Salve ragazzi,
avrei un problemino per così dire: sto realizzando un db per un e-commerce,e volevo un pò approfondire l'argomento left join per aver restituito tutti i prodotti CHE NON hanno acquistato in X periodo di tempo.
Per fare questo so che avrei bisogno di un left join e poi filtrare il tutto con un IS NULL per vedere i campi dove non c'è corrispondenza.
Ma veniamo a noi: ho realizzato queste tre tabelle classiche che indicano la lista dei prodotti,il carrello,e l'acquisto fatto in questo modo[vedi immagine]
dopo aver fatto questa query
SELECT prodotti.nome_prodotto, carrello.quantita, acquisto.data_acquisto
FROM ( subquery.prodotti prodotti
LEFT JOIN
subquery.carrello carrello
ON (prodotti.id_prodotto = carrello.id_prodotto))
JOIN
subquery.acquisto acquisto
ON (acquisto.id_acquisto = carrello.id_acquisto)
il risultato è identico come se avessi fatto due inner join anzichè un left su prodotti ed il join su carrello-acquisto...e non capisco il perchè!![]()
Altra cosa: siccome la notazione esplicita dei join mi crea problemi,utilizzo quella esplicita..in tutto questo quando provo a fare i left join coi WHERE ed utilizzo il simbolo *= ,mysql mi restituisce errore..e la cosa mi piace VERAMENTE poco!
Vi ringrazio per la pazienza anticipatamente XD.
il mio contatto skype,per le anime pie o per aver passato il file toad è dariovr1![]()

: sto realizzando un db per un e-commerce,e volevo un pò approfondire l'argomento left join per aver restituito tutti i prodotti CHE NON hanno acquistato in X periodo di tempo.
.
Rispondi quotando
