Announcement

Collapse
No announcement yet.

If Anweisung in SQL abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • If Anweisung in SQL abfrage

    Hallo liebe Community,

    ich bräuchte eure Hilfe.
    Ich habe folgendes Problem...
    Ich möchte in einer Anweisung den Count von den Kommentaren zu einer passenden News abfragen. Allerdings ist es jetzt so, dass er mir die News im Index nicht mehr anzeigt, wenn dazu kein Kommentar existiert. So sollte das eigentlich nicht sein. Wie kann ich die Abfrage entsprechend ändern, dass er mir die News auch anzeigt wenn 0 Kommentare gepostet wurden?

    Hier meine momentane Abfrage...

    PHP Code:
    $abfrage "SELECT n.*, k.*, COUNT(c.kommentareNewsId) as comAnzahl FROM news as n, kategorien as k, kommentare as c WHERE newsKatId = '$katId' AND katId = newsKatId AND c.kommentareNewsId=n.newsId GROUP BY n.newsId ORDER BY newsUpdateDate DESC LIMIT $seite$shownr"
    kommentareNewsId sind die Kommentare, die zu einer News abgefragt werden.
    Kann ich sowas mit einer "if kommentareNewsId = 0 zeige News trotzdem Art irgendwie ändern oder geht das anders?
    Zuletzt editiert von sUBzEROvOv; 03.10.2009, 15:05.

  • #2
    Guten morgen,

    die Lösung des Problems ist recht einfach und ist in dem Fall der LEFT JOIN
    [highlight=SQL]SELECT n.*, k.*, COUNT(c.kommentareNewsId) as comAnzahl
    FROM news as n
    INNER JOIN kategorien as k
    ON katId = newsKatId
    LEFT JOIN kommentare as c
    ON c.kommentareNewsId = n.newsId
    WHERE newsKatId = '$katId'
    GROUP BY n.newsId
    ORDER BY newsUpdateDate DESC
    LIMIT $seite, $shownr"; [/highlight]
    Da Du LIMIT verwendest, was es im MS SQL Server nicht gibt, tippe ich mal, das Du eigentlich MySql verwendest und Du Dich hier etwas in der Rubrik verirtt hast.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment

    Working...
    X