Problem mit COUNT über mehrere Tabellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit COUNT über mehrere Tabellen

    Hi,

    brauch mal wieder eure Hilfe!

    Ich hab mehre Tabellen mit folgender Struktur:
    Tab1 id gcid text
    ...
    Tab7 id gcid text
    und eine Tabelle mit
    Haupttab id ...
    So nun möchte ich zählen wie viele Einträge es in den Tab1 bis Tab7 gibt welche als gcid den gleichen Wert haben, wie die Haupttab als id.

    Ich habs wie folgt versucht:
    PHP-Code:
    SELECT COUNT(*) AS menge
    FROM Tab1
    Tab2Tab3Tab4Tab5Tab6Tab7Haupttab
    WHERE Tab1
    .gcid Haupttab.id 
    AND Tab2.gcid Haupttab.id
    AND Tab3.gcid Haupttab.id
    AND Tab4.gcid Haupttab.id
    AND Tab5.gcid Haupttab.id
    AND Tab6.gcid Haupttab.id
    AND Tab7.gcid Haupttab.id
    AND Haupttab.id LIKE '4' 
    Hierbei kommt dann aber ein utopisches Ergebnis raus, dass nicht stimmen kann.
    Was mache ich falsch?
    CU
    Highlander

    VW-Freaks.net | VW-Freaks Bildergalerie | VW-Freaks Forum | VW-Freaks Gäste Cars

  • #2
    Re: Problem mit COUNT über mehrere Tabellen

    bitte nicht [ quote ] verwenden, um code etc. einzubinden, das erschwert nämlich das zitieren!


    Original geschrieben von Highlander
    Ich hab mehre Tabellen mit folgender Struktur:

    Code:
    Tab1 id gcid text
    ...
    Tab7 id gcid text
    das ist vermutlich ein ungünstiges datenmodell.
    beschäftige dich mal mit dem stichwort normalisierung.

    Hierbei kommt dann aber ein utopisches Ergebnis raus, dass nicht stimmen kann.
    wenig verwunderlich, wenn du das kreuzprodukt über alle datensätze aller tabellen bildest.

    beschäftige dich mit JOINs (z.b. sticky thread hier im forum anschauen) - aber das ist wohl erst sinnvoll, nachdem du oben genannten mangel des datenmodells beseitigt hast.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      AND Haupttab.id LIKE '4'
      Warum nimmst Du ausserdem ein LIKE, wenn Du den Wert für id genau weisst.
      So kann man seine Abfragen richtig langsam machen.

      PHP-Code:
      AND Haupttab.id '4' 
      !!
      Ansonsten hat wahsaga schon recht.
      Warum nennst Du die Felder mit gleichem Inhalt in Tab1-Tab7 (gcid) anders als in der Haupttab (id)? Das macht keinen Sinn.

      Ausserdem sind ein paar aussagekräftigere Feldnamen und Tabellennamen immer von Vorteil.
      Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

      Kommentar

      Lädt...
      X