Announcement

Collapse
No announcement yet.

Mittelwert in verbindung mit Left Join

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

  • Mittelwert in verbindung mit Left Join

    Hallo,
    und Sorry falls es genervt hatte wegen dem Nach fragen nach dem Rechten zum Posten und so.

    so nun zu meinen Problem

    Code:
    SELECT iditem,lvl,name,beruf,ATK_min,ATK_max,DEF_min,DEF_max,CRIT,STR,STA,DEX,INT_2 from item LEFT JOIN chara ON item.id_char=chara.idchara LEFT JOIN job ON item.id_job=job.idjob
    das ist so wie ich es will und auch OK

    nun möchte ich aber noch den Mittelwert Preis hinzufügen
    aus der Tabelle preis
    idpreis.....id_item...h_VK....h_ek.......u_pe
    1..................15.........100................. .....90
    2..................16.........450.....45
    3..................15.........112.....89.......... ...110
    Ich Möchte jetzt für jedes Item (id_Item) den Mittelwert (Durchschnits wert) haben und mit in das Left Join ein fügen doch genau das bekomm ich nicht.
    MFG Aspirant
    System Eisfair Linux MySQL 4.0.25

  • #2
    Hallo,

    zumindest was den Mittelwert angeht, lässt sich dieser mit AVG oder einer Kombination von SUM und COUNT ermittelt und ausgegeben werden.
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Hallo das es mit AVG geht ist Klar aber wie Baue ich es in das Stamennt oben ein das ist meine Fragen

      wie anzunehmen ist und hoffent lich ersichtlich wie die Obige abfrage einen Tabelle auf meheren anderen erstellen in der Jedes Item genau einmal vorkommt damit ich dann aber euch nur einen Preis für ein Item habe, will ich aus den vielen Preisen für ein Item nur den mittelwert mit geben. Hoffe habe alle Klarheiten beseitigt in diesem
      Sinne Gute Nacht Aspi
      System Eisfair Linux MySQL 4.0.25

      Comment


      • #4
        Hallo Aspirant,

        solltest du Ausländer sein und Schwierigkeiten mir der deutschen Sprache haben, dann solltest du es dazu schreiben und wir werden die notwendige Nachsicht haben
        Ansonsten ließ dein Kauderwelsch, Denk nach und Frag nochmal!
        Originally posted by Aspirant View Post
        Hallo das es mit AVG geht ist Klar aber wie Baue ich es in das Stamennt oben ein das ist meine Fragen

        wie anzunehmen ist und hoffent lich ersichtlich wie die Obige abfrage einen Tabelle auf meheren anderen erstellen in der Jedes Item genau einmal vorkommt damit ich dann aber euch nur einen Preis für ein Item habe, will ich aus den vielen Preisen für ein Item nur den mittelwert mit geben. Hoffe habe alle Klarheiten beseitigt in diesem
        Sinne Gute Nacht Aspi
        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Hallo,
          nein ich bin kein Ausländer ich leide nur an extremer Legastinie, ich hoffe denoch nur auf etwas nach sicht.

          So nun zu dem was ich möchte.

          Also es geht um die Funktion von AVG mit der mann der Mittelwert ermitteln kann.

          im meinen ersten Post habe ich ein MYSQL abfrage stehen die soweit ok ist.
          Nun möchte ich jedoch zu dieser abfrage noch den Durchschnittlich Preis haben, das es ja für Jedes item im Laufe der Zeit immer mehr preise geben wird. Aufbau der Preis Tabellen ist im ersten Post zu sehen.
          Mann Kann sich das so vorstellen, Jemand schreibt jeden Tag den Preis für Diesel auf zu sehen Bekomme ich aber nur den Durchschnittspreis da für Diesel nur ein Zeile am Informationen vorgesehen ist.
          Ich hoffe jetzt ist es Klarer.

          MFG Aspirant
          System Eisfair Linux MySQL 4.0.25

          Comment


          • #6
            so ungefähr...

            [HIGHLIGHT="SQL"]SELECT AVG(Preis), iditem,lvl,name,beruf,ATK_min,ATK_max,DEF_min,DEF_ max,CRIT,STR,STA,DEX,INT_2
            from item
            LEFT JOIN chara ON item.id_char=chara.idchara
            LEFT JOIN job ON item.id_job=job.idjob
            GROUP BY iditem,lvl,name,beruf,ATK_min,ATK_max,DEF_min,DEF_ max,CRIT,STR,STA,DEX,INT_2 [/HIGHLIGHT]

            Comment


            • #7
              Hallo,
              danke für deine Hilfe doch leider bringt sich nicht den gewünschten erfolgt.

              ALso wie gesagt das SQL Statement aus dem erste post ist soweit ok es soll lediglich um AVG erweiter werden.

              in der Tabelle preise befinden sich neben der Item ID keine weiteren revalten informationen.
              Hier noch mal der Aufbau der Tabelle:
              preise
              --idpreis (Key)
              --h_ek
              --h_vk
              --u_pe
              --id_item (Querverweis in die Item Tebelle)
              --time (timeStamp)
              --id_user (Querverweis in die User Tabelle)

              zur sicherheit noch mal hier meine SQL version 4.0.25
              ich hoffe das es jetzt leichter ist mein Anliegen zu verstehen.

              MFG Aspi
              System Eisfair Linux MySQL 4.0.25

              Comment


              • #8
                Ich komme hier Leider über haupt nicht weiter ich habe 2 teils Statements die jeder für sich tun was sie sollen. Doch ich möchte beide Tabellen als ein ergebnis haben (eine Tabelle).

                Kann mir jemand vielleicht auf die Sprünge helfen?

                Teil 1
                Code:
                SELECT iditem,lvl,name,text_de,ATK_min,ATK_max,DEF_min,DEF_max,CRIT,STR,STA,DEX,INT_2 from item LEFT JOIN chara ON item.id_char=chara.idchara LEFT JOIN meldung ON item.id_job=meldung.idmeldung
                Teil2
                Code:
                SELECT  id_item,AVG(preis.h_ek),AVG(preis.h_vk),AVG(preis.u_vk) from preis Group BY id_item
                MFG Aspi
                System Eisfair Linux MySQL 4.0.25

                Comment


                • #9
                  [HIGHLIGHT="SQL"]SELECT x.iditem,lvl,name,text_de,ATK_min,ATK_max,DEF_min, DEF_max,CRIT,STR,STA,DEX,INT_2
                  from item
                  LEFT JOIN chara ON item.id_char=chara.idchara
                  LEFT JOIN meldung ON item.id_job=meldung.idmeldung
                  JOIN (SELECT id_item
                  ,AVG(preis.h_ek) AS EK
                  ,AVG(preis.h_vk) AS VK
                  ,AVG(preis.u_vk) AS UK
                  from preis Group BY id_item
                  ) AS X On X.Id_Item = Item.ID_Item
                  [/HIGHLIGHT]

                  Comment


                  • #10
                    Hallo ebis,
                    ich bin dir sehr Dankbar für deine Hilfe doch leider bekomme ich nur Ferhler Meldungen um die Ohren gehauen

                    SELECT x.iditem,lvl,name,text_de,ATK_min,ATK_max,DEF_min, DEF_max,CRIT,STR,STA,DEX,INT_2 FROM item LEFT JOIN chara ON item.id_char=chara.idchara LEFT JOIN meldung ON item.id_job=meldung.idmeldung JOIN (SELECT id_item ,AVG(preis.h_ek) AS EK ,AVG(preis.h_vk) AS VK ,AVG(preis.u_vk) AS UK FROM preis GROUP BY id_item ) AS X ON X.Id_Item = Item.ID_Item
                    /* SQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id_item ,AVG(preis.h_ek) AS EK ,AVG(preis.h_v */
                    wenn du möchtest richt ich dir einen Zugang zu der Daten bank ein das macht es sicher einfacher.

                    MFG Aspi
                    System Eisfair Linux MySQL 4.0.25

                    Comment

                    Working...
                    X