SQL Verknüpfung von Datensätzen

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

  • #16
    Original geschrieben von TobiaZ
    EDIT:
    Hab grad geguckt. Also befreundet würde bei Anna NULL sein, was irgendwo logisch erscheint.
    laut manual:
    Aggregate (summary) functions such as COUNT(), MIN(), and SUM() ignore NULL values.
    ich interpretiere das so, dass mein mysql 3.23.58 hier den zu summierenden ausdruck ignoriert, wenn er NULL ergibt und deswegen völlig korrekt 0 ausgibt

    zur not versuche mal
    Code:
    SUM(IF(ISNULL(ff.friend1_id), 0, 2 IN (ff.friend1_id, ff.friend2_id))) befreundet
    aber wie gesagt: ich denke, dein mysql ist kaputt *g*
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #17
      dein dump und mein SELECT funktionieren bei mir einwandfrei, fragt sich bloß, welche mysql-version jetzt richtig summiert
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        ignore NULL values.
        könnte genauso bedeuten, dass die gar nicht berücksichtigt werden, was ja bei mir der fall wäre...

        zur not versuche mal
        wäre meins nicht schöner? Oder gäbe das Probleme bei deiner SQL-Version?

        Code:
        IF(SUM(ff.friend1_id =2 OR ff.friend2_id =2) > 0,1,0) befreundet,

        Kommentar


        • #19
          So, musste diesen Thread nochmal rausgraben, weil ich leider noch nen Fehler habe. Und zwar möchte ich die Einträge, die mir o.g. Query (ohne LIMIT) zurückliefern würde, zählen.

          habe mir da folgendes gedacht:

          PHP-Code:
          SELECT count(f.friend_idcounter
          FROM friends f
          LEFT  JOIN friend_friend ff 
            ON f
          .friend_id IN ff.friend1_idff.friend2_id )
          GROUP BY f.friend_id
          HAVING 
          IF(SUM(ff.friend1_id OR ff.friend2_id 2) > 0,1,0) = 
          sieht auch eigentlich nicht schlecht aus, allerdings liefert mir die Query aufgrund des GROUP BY drei zeilen zurück, für jeden "Nicht-Freund" eine. Alle drei mit counter = 1.

          Das ist natürlich Mist. GROUP weglassen geht nicht, da dann das HAVING nicht mehr läuft. Jetzt habe ich gedacht, nen SUM aufs COUNT ansetzen, was aber nen "Invalid use of group function" verursacht.

          Irgendwie in der Richtung sollte es gehen, jemand ne Idee für mich?

          Kommentar

          Lädt...
          X