Questione : Adattamento della domanda attuale per comprendere i conteggi & i maxrows

Ciao le gente, il

I hanno una domanda attuale, che precedentemente ho avuto aiuto un su qui (href= " http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Cold_Fusion_Markup_Language/Q_26424862.html " di _Development/Web_Languages-Standards/Cold_Fusion_Markup_Language/Q_26424862.html del ge.com/Web di http://www.experts-exchan).  Questa domanda funziona grande e che permette che me ottenga sia il risultato primario (“la condizione ") che il risultato secondario (“le osservazioni ") con appena una domanda.  Ho incluso dal codice di uscita in modo da potete vedere come ha used.

I ora osservare per intraprendere questo un'azione più ulteriormente con le 2 aggiunte;

Firstly, voglio limitare il numero dei maxrows restituiti - ma applicando quello al primario soltanto (“la condizione ").  Se aggiungo semplicemente i maxrows alla domanda, inserisce le osservazioni all'interno di quella (così, se metto il maxrows= " 10„ e la prima condizione ha 9 osservazioni, soltanto ottengo una condizione (più le 9 osservazioni) restituita, piuttosto che 10 condizioni ed il loro comments.

Secondly, io vorrebbero aggiungere “un conteggio„ per il numero delle osservazioni per ogni condizione.  Ho considerato alcune opzioni qui, come usando un cfset per aggiungere durante il ciclo, ma non sono convinto che sia il migliore route.

Perhaps che sto chiedendo a troppo di potere fare tutti i questi all'interno di singola domanda?
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
datasource= notpretty " #datasource# " " del livestream " del name= di > SELEZIONARE s.sID, s.wUserID, s.sStatus, s.sCreatedDate, u.FirstName, u.Surname, c.cComment, c.wUserID, c.cDate, cu.FirstName COME cFirstName, Cu. Cognome COME cSurname Dagli statusupdates s LA PARTE DI SINISTRA UNISCE gli utenti u su s.wUserID=u.wUserID LA PARTE DI SINISTRA UNISCE le osservazioni c SU c.inreplyto = s.sID LA PARTE DI SINISTRA UNISCE il Cu degli utenti su c.wUserID=cu.wUserID ORDINE da s.sCreatedDate DESC, s.sID
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
group= notpretty " Sid " " del livestream " del query= del > #sStatus# del #Surname# del #FirstName# il #cComment# del #cSurname# del #cFirstname#
class= del

Risposta : Adattamento della domanda attuale per comprendere i conteggi & i maxrows

>>. In primo luogo, voglio limitare il numero dei maxrows restituiti

Quello è Nel migliore dei casi qualcosa che dovrebbe essere fatto al livello di db.  Potrebbe anche essere fatto nel codice dei CF. Ma non ci è punto che subisce le spese generali di tir indietroare i dati che non saranno usati.  

Potreste probabilmente usare una tabella derivata per limitare i risultati nello SQL. Cioè selezionare i 10 aggiornamenti PRINCIPALI in primo luogo, quindi UNIR alle altre tabelle.  La sintassi e la struttura esatte è dipendente della base di dati.  La PARTE SUPERIORE di uso del ms SQL, MySQL usa il LIMITE, ecc….  

Inoltre, tutto il “piano d'azione delle annotazioni del principale x„ coinvolge ordinare le annotazioni “da una certa colonna„.   Sto presupponendo che volete gli ultimi 10 aggiornamenti…?  Alcune basi di dati limitano che funzionamenti potete realizzare in una tabella derivata. Così è molto probabile il vostro sql reale dovrà tweaking…


SELEZIONARE s.sID, s.wUserID, s.sStatus, ..... altre colonne…
DA    
              (
                    SELEZIONARE IL PRINCIPALE 10 il Sid, il wUserID, sStatus, ...... OtherColumns….
                    Dagli statusupdates
                    ORDINE da sCreatedDate DESC
             ) s
             LA PARTE DI SINISTRA UNISCE gli utenti u su s.wUserID=u.wUserID
             LA PARTE DI SINISTRA UNISCE le osservazioni c SU c.inreplyto = s.sID
             LA PARTE DI SINISTRA UNISCE il Cu degli utenti su c.wUserID=cu.wUserID
ORDINE da s.sCreatedDate DESC, s.sID

>> Secondariamente, vorrei aggiungere “un conteggio„ per il numero delle osservazioni per ogni condizione.  

Volete visualizzare il conteggio prima o dopo le osservazioni.  Se volete visualizzarli dopo che le osservazioni, quindi using un cfset all'interno del ciclo è benissimo. Se dovete visualizzarli _before_ le osservazioni, quindi dovrete ovviamente conoscere i totali davanti a tempo.
Altre soluzioni  
 
programming4us programming4us