Purtroppo non cambia nulla..il problema infatti non riguarda i NULL in nome o cognome..
la soluzione non potrebbe essere contare i totali e sottrarre quelli con meno di 3 pagine?
Purtroppo non cambia nulla..il problema infatti non riguarda i NULL in nome o cognome..
la soluzione non potrebbe essere contare i totali e sottrarre quelli con meno di 3 pagine?
con una left join dovresti quasi sicuramente risolvere.
A te non viene restituito nessun dato perche', nel join implicito che fai nel where, se una dato ha conteggio zero per te significa che quel join non e' soddisfatto.
quindi con una left join forzi il dbms a restituirti comunque il dato anche se esso non joina.
Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
Albert Einstein
Siate Affamati, siate Folli, siate Onesti e siate Generosi
avresti mica voglia di scrivermi quindi la query come sarebbe?
join implicita (la tua)
SELECT A.*, B.* FROM A,B WHERE A.ID=B.ID
join esplicita (come andrebbe fatta)
SELECT A.*, B.* FROM A LEFT JOIN B ON A.ID=B.ID
sistema così la tua query![]()
Mettendo un left join purtroppo me li fa vedere tutti, come se la clausola delle 3 pagine non esistesse...oppure non ho capito io..
select alunno.nome, alunno.cognome, count (tema.titolo)
from ((alunno * join consegna on alunno.codice=consegna.codice)
* join tema on consegna.titolo=tema.titolo and num_pagine >3 )
group by alunno.nome, alunno.cognome
Ho messo gli asterischi per spiegare meglio..se metto left al posto del primo non cambia nulla..al posto del secondo ignora la clausola delle pagine facendo vedere il numero totale di temi...
ho provato anche a lasciare nel where la clausola pagine ma non cambia nulla..
Ultima modifica di wolf1792; 10-10-2013 a 11:23