Vraag : Het minimaliseren van de Vragen en CFOutput van het Gegevensbestand

Hallo zijn de Mensen,

Here het scenario - ik outputting „statusupdates“ en commentaren voor elk op één enkele pagina (gelijkend op Facebook, als u houdt van).

The de statusupdates zijn momenteel teruggekeerd met de volgende vraag;


SELECT s.sID, s.wUserID, s.sStatus, s.sCreatedDate, u.FirstName, u.Surname
FROM statusupdates s
LEFT SLUIT zich aan bij gebruikers u
ON s.wUserID=u.wUserID
ORDER DOOR s.sCreatedDate DESC


I heeft een extra lijst, „commentaren“ met de volgende gebieden - cID, inreplyto, wUserID & cComment.  In dit geval zou de waarde voor „inreplyto“ „sID“ in de eerste vraag die aanpassen (aan de commentaar richten die in antwoord op die statusupdate zijn).

op het ogenblik, de enige manier ik van het tonen van commentaren voor elke update kan zien ben een cfquery tegen de commentarenlijst tijdens de cfoutputvraag voor de updates te doen.  Ik weet ik een extra vraag aan de eerste vraag kan toevoegen om het aantal commentaren te tellen, maar ik kan geen manier berekenen om zowel de commentaren zelf, als eigenlijk hen outputting op het scherm terug te keren gebruikend één enkele vraag (ik zou, als ik alles binnen één vraag kan terugkeren, ik zou gebruiken cfoutput vraag om de status, toen een cfloop voor de commentaren terug te keren veronderstellen). zijn

Am I in het hopen om dit in één enkele vraag te bereiken?  Ik gebruik MySQL

Antwoord : Het minimaliseren van de Vragen en CFOutput van het Gegevensbestand

Als ik correct… ja begrijp, kon u zowel updates als commentaren in 1 vraag terugwinnen.

Nauwkeurige sql hangt van welke kolommen af u in de output moet tonen. Maar over het algemeen, voeg enkel JOIN aan de commentarenlijst toe en voeg de „cComment“ kolom aan uw uitgezochte lijst toe.

    SELECTEER s.sID, s.wUserID, s.sStatus, s.sCreatedDate, u.FirstName, u.Surname, c.cComment
    VAN statusupdates s
                      De LINKERZIJDE SLUIT zich aan gebruikers bij u OP s.wUserID=u.wUserID
                      De LINKERZIJDE SLUIT zich aan bij commentaren c OP c.inreplyto = s.sID
    ORDE DOOR s.sCreatedDate DESC, s.sID

U kon de commentaren onder elke update groeperen door cfoutput „groeps“ attributen te gebruiken.  Enkel ben zeker om LANGS en „groep“ tot door de zelfde kolommen OPDRACHT TE GEVEN of het zal niet behoorlijk werken.

       
                 
                  #sStatus#

                 
                 
                 #cComment#t>
       
Andere oplossingen  
 
programming4us programming4us