Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL Abfrage: 2 Tabellen nutzen, gleichzeitig Ordnen

Einklappen

Neue Werbung 2019

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

  • SQL Abfrage: 2 Tabellen nutzen, gleichzeitig Ordnen

    Hallo erstmal, ja ich weiß, der Threadtitel ist ungünstig gewählt.
    Ich habe folgende tabellen:

    antwortmoeglichkeiten:
    id: Eine Id (auto_increment)
    umfrage: Zu welcher Umfrage diese Antwort gehört
    antwort: Die ANtwort halt ("Ja" oder "Dafür" oderso halt)

    antworten:
    id: Eine id (auto_increment)
    umfrage: zu welcher umfrage gehört diese Antwort
    antwort: die ID der Antwort aus antwortmoeglichkeiten

    So ich möchte jetzt eine Statistik aufbauen.
    zurzeit rufe ich die Antwortmoeglichkeiten ab und prüfe einzeln wieoft sie in "antworten" vorkommt.
    Das möchte ich jetzt in EINE abfrage packen.
    PHP-Code:
    SELECT idantwort FROM antwortmoeglichkeiten WHERE umfrage='".$data['id']."' 
    Das ist die abfrage die die antworten durchgeht, der rest ist eigentlich unwichtig.
    So jetzt müsste DA noch mit rein:
    1. die antworten zählen die als "antwort" die id der antwortmöglichkeit drin haben
    2. ALLE antworten die für diese umfrage abgegeben wurden ($data['id'] ist die ID der umfrage)
    3. Geordnet NACH dem 1. punkt

    ich hab das ordnen schon mit Subquery versucht aber ich bekomms nicht hin.
    PHP-Code:
    SELECT idantwort FROM antwortmoeglichkeiten WHERE umfrage='".$data['id']."' ORDER BY (SELECT SUM(idFROM antworten WHERE antwort=antwortmoeglichkeiten.idDESC 
    Jemand nen denkanstoß?
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

  • #2
    Hallo

    Code:
    GROUP BY
    ...das wäre der Denkanstoß (Einfach mal googlen)

    Gruß, php2go

    Kommentar


    • #3
      Zitat von php2go Beitrag anzeigen
      Hallo

      Code:
      GROUP BY
      ...das wäre der Denkanstoß (Einfach mal googlen)

      Gruß, php2go
      ich kenne group b, habs nurnicht eingebaut bekommen...
      naja ich bin jetzt soweit das das ganze FAST funzt:
      PHP-Code:
      SELECT m.idm.antwortCOUNT(a.id) as anzahl FROM antwortmoeglichkeiten as m LEFT JOIN antworten as a ON m.id a.antwort WHERE m.umfrage='".$data['id']."' GROUP BY a.antwort ORDER BY COUNT(a.idDESC 
      soooo soweit bin ich bekommen und es klappt auch soweit ich das sehe.
      ALlerdings, WIE bekomme ich jetzt noch die GESAMTE anzahl an antworten? derzeit bekomme ich ja nur die für die jeweilige antwort. wäre aber nett wenn ich jetzt auchnoch die anzahl ALLER ANTWORTEN für diese umfrage bekommen würde. Geht das in der einen abfrage oder muss ich da ne 2. mit mysql_num_rows machen?
      [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

      Kommentar


      • #4
        Ok es geht wohl doch nicht. es geht nur wenn für jede möglichkeit auch mindestens eine antwort da ist. wenn nicht wird nichts ausgegeben.
        Ich möchte das die möglichkeiten auf JEDEN FALL zurückkommen. wenn keine antwort zu dieser möglichkeit abgegeben wurde soll dann halt eine 0 als anzahl zurückkommen, ansonsten die anzahl. was mache ich falsch?
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar

        Lädt...
        X