Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [SQL]Query per blog

  1. #1
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258

    [SQL]Query per blog

    Ciao a tutti,

    Ho un blog e necessariamente devo far vedere quanti commenti ho per ogni post...
    La mia domanda è posso farlo tutto tramite 1 sola query?

    Ho una tabella "Blog" con: ID_blog, titolo,etc
    ed una tabella "Commenti" con: ID_Commenti, ID_blog, etc...

    L'ideale sarebbe fare una join tra la tabella blog e una tabella che contiene il numero di tuple per ogni ID_blog uguale.

    Non so se si è capito...

  2. #2

    Re: [SQL]Query per blog

    SELECT Blog.ID_blog, COUNT(*) FROM Blog, Commenti WHERE Commenti.ID_blog = Blog.ID_blog GROUP BY Blog.ID_blog;

    ho vinto qualche cosa?

  3. #3
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258
    Grazie mille!

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258
    Cantato vittoria troppo presto...

    Effettivamente mi ricordavo di aver provato una cosa del genere, ma non mi ricordavo del'errore.
    L'errore è che se un post non ha commenti viene visto cmq 1 commento!

  5. #5
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258
    Up non vi incazzate...
    Ma proprio non c'è modo di farlo?

    Attualmente rifacio una query per ogni post, solo che la cosa è massacrante dato che in 1 mese ci possono essere anche 100 post, il che vuol dire 100 query a utente!

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da URANIO
    Cantato vittoria troppo presto...

    Effettivamente mi ricordavo di aver provato una cosa del genere, ma non mi ricordavo del'errore.
    L'errore è che se un post non ha commenti viene visto cmq 1 commento!
    Cambia il raggruppamento.

    SELECT Blog.ID_blog, COUNT(*)
    FROM Blog, Commenti
    WHERE Commenti.ID_blog = Blog.ID_blog
    GROUP BY Blog.ID_blog;

    invece di raggruppare per Blog.ID_blog, raggruppa per commenti. Se non ci sono commenti, 0 righe.

    GROUP BY Commenti.ID_blog;


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da URANIO
    Cantato vittoria troppo presto...

    Effettivamente mi ricordavo di aver provato una cosa del genere, ma non mi ricordavo del'errore.
    L'errore è che se un post non ha commenti viene visto cmq 1 commento!
    Ho letto tutto il post e qualcosa non torna. ho risposto senza troppo riflettere.

    Se la condizione è:

    WHERE Commenti.ID_blog = Blog.ID_blog

    e non ci sono commenti, la condizione è falsa e torna 0 righe. quindi anche COUNT è assente.

    Probabilmente hai qualcosa che non va nell'estrazione delle tuple.


  8. #8
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258
    be no, semplicemente nella tabella Commenti ho 2 indici
    ID_Blog(che è anche mia chiave esterna), e ID_Comenti(prograssivo)

    Probabilmente non è possibile farlo, forse dovrei salvare tutti i valori dei commenti in un arrey per usarlo in seguito.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.