SQL select innerhalb inner joins

Meine Frage ist: Wie kommen die verschiedenen Werte in einer sql-Abfrage? Ich versuche dieses:

SELECT 
          q.id,
          q.question_title,
          SUM(op.option_value) AS total_votes,
          COUNT(op.option_value) AS number_votes,
          tab.comments 
FROM
          questions_options AS op 
          INNER JOIN questions AS q 
                    ON (q.id = op.q_id) 
          INNER JOIN 
                    (SELECT 
                              SUM(p.unseen) AS comments 
                    FROM
                              questions_options AS p) tab 
                    ON (q.id = tab.q_id) 
WHERE op.option_value > 0 
GROUP BY q.question_title 

Diese Abfrage funktioniert perfekt, Wenn ich entfernen Sie die mittlere "INNER JOIN" (ich.e zeigt mir die id, Frage, Titel, Summe der abgegebenen Bewertung, und die Anzahl der Stimmen....

Aber ich will zeigen, unsichtbare Kommentare auch, das ist ein weiteres Feld in der Tabelle und nimmt die "1" für die unsichtbaren (ungelesen) Kommentar...

Also, wie kann ich dies tun, indem Sie unsichtbare Kommentare Nummer....jede Idee oder Vorschläge...

  • Sie beseitigt haben, die q_id Feld aus der Unterabfrage mit dem Namen "tab", so natürlich Sie können nicht beitreten, auf diesem Feld mehr. Sie wollen wahrscheinlich (select sum(p.unseen), p.q_id from questions_options as p group by q_id) tab
  • hi....ja du hast Recht..es zeigen einige Ergebnis...aber 2 für alle Felder, ich will nur für diejenigen Felder, die un-Kommentare Lesen...danke
InformationsquelleAutor ime.devdesks | 2012-05-24
Schreibe einen Kommentar