Appunto ... è proprio quello che pensavo io. La parte "FROM commenti WHERE (SELECT MAX(id)FROM classifiche) = commenti.id_classifica" è sostanzialmente uguale nelle 3 select. Quindi non basta una sola select?
Appunto ... è proprio quello che pensavo io. La parte "FROM commenti WHERE (SELECT MAX(id)FROM classifiche) = commenti.id_classifica" è sostanzialmente uguale nelle 3 select. Quindi non basta una sola select?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
intanto grazie per l'aiuto!!! sono un nubbone e sbaglio sicuramente qualcosa e mi chiedo: ma se il result set fosse uno solo, poi come faccio ad inserire ed a stampare nell'html finale il nome, il commento ed il voto in tre punti diversi?
Io ho (forse ignorantemente) usato 3 result set in modo da avere in 3 getstring diversi il nome, il voto ed il commento, e ciascuno di essi li ho potuti inserire in tre parti diverse del codice html.
se faccio un solo REsultset ad esempio ( SELECT* FROM commenti WHERE (SELECT MAX(id)FROM classifiche) = commenti.id_classifica) come posso isolare queste 3 info ed inserirle nell'html separatamente ?
<div class="media">
<a class="pull-left" href="#">
<img class="media-object" src="http://i60.tinypic.com/118de6g.png" alt="">
</a>
<div class="media-body">
// PRIMO RESULTSET
<h4 class="media-heading"><%= rs3.getString (1)%>
// SECONDO RESULTSET
<small>Voti:<%= rs1.getString (1)%></small>
</h4>
//TERZI RESULTSET
<%=rs2.getString (1)%>
</div>
</div>
Allora: si evince dal tuo codice che ci sono (almeno) 3 informazioni nella tua tabella commenti: un "voto", un "commento" e un "utente" (li ho detti in senso generale, non con i nomi che hai usato realmente per le colonne).
Se tu volessi creare nella pagina prima un elenco dei voti, poi un elenco dei commenti, poi un elenco degli utenti, allora sì, dovresti fare 3 select distinte, oltretutto nemmeno "annidate" (cioè totalmente slegate tra di loro). Probabilmente non avrebbe tantissimo senso ma è fattibile.
Ma visto che le 3 informazioni rappresentano un "record", sono quindi correlate tra di loro. E pertanto sarebbe più sensato generare in output del markup HTML in modo da mostrare in gruppo ciascun singolo record. La cosa più ovvia sarebbe una <table> ma non è detto che l'output debba essere tabellare.
Esempio 1:
<table>
<tr><td>voto1</td><td>commento1</td><td>utente1</td></tr>
<tr><td>voto2</td><td>commento2</td><td>utente2</td></tr>
.....
</table>
Esempio 2:
....
<h4>utente1 <small>voto1</small></h4>
<p>commento1</p>
....
<h4>utente2 <small>voto2</small></h4>
<p>commento2</p>
....
I due esempi di output che ho fatto si possono generare tranquillamente con una sola select. Infatti lo "vedi" il blocco di HTML che si ripete e contiene i dati di ciascun record?
Ultima modifica di andbin; 15-10-2014 a 21:48
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
perfetto ti ringrazio! credo di aver capito, mi sfugge solo la sintassi da utilizzare per avere il risultato che tu hai posto nella tabella. Chiaramente se scrivo "utente1, voto1" non mi darà nessun risultato forse metto <%= rs.getstring(voto)%> oppure <%= rs.getstring(commento)%> ??
ed in merito al discorso WHERE hai qualche dritta da darmi??
Ovviamente .... io ho fatto solo esempi di output finale (quello che arriva al browser) ipotizzando valori voto1, voto2 ecc... per far capire quali sono i dati.
In generale: se fai la select con * è preferibile estrarre i valori usando label invece che indici (perché con * l'ordine delle colonne è quello dichiarato nella definizione della tabella e se dovesse cambiare .....).
Se invece estrai colonne specifiche es. SELECT colonna1, colonna2, ......... allora è abbastanza indifferente se fai rs.getString(1) oppure rs.getString("colonna1")
Cioè? Scusa ma io non posso avere la conoscenza dei concetti dietro la tua base dati. Quale è il dubbio o problema preciso?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Carissimo
ti volevo ringraziare per aver risolto il mio problema ... ero entrato in un while dal quale nno uscivo! grazie grazie!
in merito al discorso del where all'interno della query, forse devo studiare un po e capire come inserire dei permalink relativi ad ogni nuovo topic, forse ti ridisturberò in ogni caso grazie ancora