Question : Questions de minimisation et CFOutput de base de données

Salut les gens, le

Here sont le scénario - je produis des « mises à jour de statut » et des commentaires pour chacun sur un d'une seule page (semblable à Facebook, si vous aimez). des mises à jour de statut du

The sont actuellement retournées avec la question suivante ; le >
SELECT s.sID, s.wUserID, s.sStatus, s.sCreatedDate, u.FirstName, le s
LEFT de " #datasource# " de datasource= de " livestream » de name= du

FROM JOIGNENT des utilisateurs que l'u
ON s.wUserID=u.wUserID
ORDER PAR s.sCreatedDate DESC


I ont une table additionnelle, des « commentaires » avec les champs suivants - cID, inreplyto, wUserID et cComment.  Dans ce cas-ci la valeur pour le « inreplyto » assortirait le « Sid » dans la première question (indiquant le commentaire étant en réponse à cette mise à jour de statut). le

à l'heure actuelle, la seule manière que je peux voir de montrer des commentaires pour chaque mise à jour est de faire un cfquery contre la table de commentaires pendant la question de cfoutput pour les mises à jour.  Je sais que je peux ajouter une question supplémentaire à la première question pour compter le nombre de commentaires, mais je ne peux pas figurer dehors une manière de tous les deux qui renvoient les commentaires eux-mêmes, et qui les produisent réellement sur l'écran using une question simple (je supposerais, si je peux renvoyer tout à moins d'une question, j'avais l'habitude la question de cfoutput pour renvoyer les statuts, puis un cfloop pour les commentaires).

Am I étant ambitieux dans l'espérance pour réaliser ceci dans une question simple ?  J'emploie MySQL
class= de

Réponse : Questions de minimisation et CFOutput de base de données

Si je comprends correctement… ouais, vous pourriez rechercher les deux mises à jour et commentaires dans 1 question.

Le SQL exact dépend de quelles colonnes vous devez montrer dans le rendement. Mais d'une façon générale, juste ajouter une JOINTURE à la table de commentaires et ajouter la colonne de « cComment » à votre liste choisie.

    CHOISIR s.sID, s.wUserID, s.sStatus, s.sCreatedDate, u.FirstName, u.Surname, c.cComment
    Des statusupdates s
                      La GAUCHE JOIGNENT les utilisateurs u SUR s.wUserID=u.wUserID
                      La GAUCHE JOIGNENT les commentaires c SUR c.inreplyto = s.sID
    ORDRE PAR s.sCreatedDate DESC, s.sID

Vous pourriez grouper les commentaires sous chaque mise à jour en employant l'attribut du « groupe » des cfoutput.  Être juste sûr DE PASSER COMMANDE PRÈS et le « groupe » par les mêmes colonnes ou lui ne travaillera pas correctement.

       
                 
                  #sStatus#

                 
                 
                 #cComment#t>
       
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us