Ergebnis 1 bis 4 von 4

Thema: MySQL: Tabellen vereinen

  1. #1
    Kaiserliche Hoheit Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard MySQL: Tabellen vereinen

    Salut,

    ich habe mein Glück schon an anderen Stellen probiert, da konnte man mir aber leider nicht weiterhelfen. Vielleicht kennt sich hier jemand richtig gut mit SQL aus

    Mein Problem:
    Ich habe zwei Tabellen, cms_articles mit den Artikeln meines CMS, cms_comments mit Kommentaren zu den Artikeln (dabei gibt die Spalte ARTICLE_ID die ID des entsprechenden Artikels an).

    Zum Anzeigen im Blog lasse ich mir von der Datenbank die Artikel ausgeben:
    Code:
    SELECT * FROM cms_articles WHERE $conditions $order $limit
    Da ich aber gleich noch zu jedem Artikel anzeigen möchte, wie viele Kommentare verfügbar sind, hätte ich gerne eine weitere Spalte im Ergebnis, in der die Anzahl der Kommentare zum jeweiligen Artikel steht.

    Und an diesem Punkt scheitere ich. Mit einem Tutorial habe ich noch folgendes zusammengebastelt:
    Code:
    SELECT ARTICLE_ID,count(distinct(ID)) FROM cms_comments GROUP BY ARTICLE_ID
    Das liefert mir die Anzahl der Kommentare zu jedem Artikel. Aber wie bastele ich das jetzt zusammen?


    Danke im Voraus,

    Stefan
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

  2. #2
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    SELECT cms_articles.*, ARTICLE_ID,count(distinct(ID)) AS comment_anzahl FROM cms_articles, cms_comments WHERE $conditions $order $limit GROUP BY ARTICLE_ID

    musst mal sehen ob das so passt und abgesehen davon kenn ich ja deine db nicht und du kannst das auch zur not einfach mit 2 abfragen machen

    zB so (comment anzahl für bestimmten artikel)
    SELECT COUT(*) AS anzahl FROM cms_comments WHERE ARTICLE_ID = 'id' LIMIT 1
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  3. #3
    Kaiserliche Hoheit
    Themenstarter
    Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Salut,

    ich habe mich jetzt für letzteres entschieden.

    Nachdem ich mir das nochmal durch den Kopf habe gehen lassen, nahm ich von obiger Variante Abstand, da ich da auch das Problem sehe, dass die Ergebnistabelle von MySQL wohl erst mal komplett zusammengestellt wird (d.h. für alle Einträge in cms_articles) und dann erst die Limitierung erfolgt.

    Bei momentan 190 Einträgen mag das Performance-mäßig noch annehmbar sein, aber bei mehreren Tausend Einträgen wird das wohl schon anders aussehen. Oder liege ich da falsch?


    Danke,

    Stefan
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

  4. #4
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ich denke ja nicht, dass du alle gleichzeitig ausliest, wenn du 50 beiträge im vergleich zu 30 ausliest, dann sollten das nur unterschiede im bereich von millisekunden sein.
    aber ich würde auch die variante mit 2 abfragen nehmen
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

Ähnliche Themen

  1. MySQL Tabellen per PHP
    Von xdragonx im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 10.06.2008, 08:43
  2. MYSQL abfrage auf verschiedene Tabellen definieren
    Von yngvar im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 13
    Letzter Beitrag: 27.03.2008, 16:36
  3. Frage zu MySQL Tabellen!
    Von Tream im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 05.01.2007, 14:46
  4. MySQL verknüpfung zwischen 2 Tabellen
    Von im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 17.10.2006, 21:25
  5. MySQL Tabellen von Datenbank zu Datenbank umziehen
    Von hkp im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 16
    Letzter Beitrag: 02.09.2006, 16:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •