[GRUNDLAGENFRAGE] Probleme mit Joins

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

  • [GRUNDLAGENFRAGE] Probleme mit Joins



    ich habe eine Frage zu Joins, habe mir zwar schon den SELFHTML nachgelesen… aber irgendwie wird mir das ganze noch nicht klar.

    Also ich habe eine zwei Tabellen:
    Code:
    produkte |  p_id, p_name
    Bsp: 
    1, Produkt1
    2, Produkt2
    3, Produkt3
    
    lagerbestand | lb_id, lb_p_id, lb_menge
    Bsp:
    1, 1, 10000
    2, 1, -2000
    3, 2, 3000
    4, 3, 1000
    5, 2, 3000
    6, 3, -500
    Soweit alles klar! Nun ist ja p_id = lb_p_id also müsste es ja nun möglich sein dies mit einer JOIN Abfrage hinbekommen zu verknüpfen.

    Ich möchte beispielsweise eine der Lagerbestände aller Produkte haben.

    Code:
    Bsp:
    Produkt1	8000
    Produkt2	6000
    Produkt3	500

    PHP-Code:
    $abfrage mysql_query("SELECT * FROM produkte LEFT JOIN lagerbestand ON produkte.p_id = lagerbestand.lb_p_id") or die(mysql_error());
    while(
    $line mysql_fetch_object($abfrage)) {
    echo     
    $line->p_name;

    Es wäre schön, wenn mir jemand einen Tipp geben könnte.
    THANKS!
    Zuletzt geändert von derRafael; 24.02.2010, 15:19.

  • #2
    Entferne erst mal die @-Zeichen vor den Querries. Und dann schau dir mal die unterschiedlichen Schreibweisen von Lagerbestand an.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Zitat von Kropff Beitrag anzeigen
      Entferne erst mal die @-Zeichen vor den Querries. Und dann schau dir mal die unterschiedlichen Schreibweisen von Lagerbestand an.
      Sorry, klar alles sollte schon gleich geschrieben sein :-) Habe das Bsp: grade nur so runter geschrieben. Bei der Abfrage wird mir 6 mal Produkt1 angezeigt.

      Kommentar


      • #4
        SELECT produkte.*,bst.menge FROM produkte LEFT JOIN
        (select lb_p_id, sum(lb_menge) as menge from lagerbestand group by lb_p_id) as bst on produkte.p_id =bst.lb_p_id
        Slava
        bituniverse.com

        Kommentar


        • #5
          SELECT p.p_name, SUM(l.menge )
          FROM produkte p
          INNER JOIN lagerbestand l ON p.p_id = l.lb_p_pid
          GROUP BY p.p_id

          Kommentar


          • #6
            Erstmal einen LIEBEN DANK, ! Nun habe ich noch ein kleines Problem bei der Ausgabe und zwar mit der Summe für das einzelne Produkt komme ich nicht weiter.

            PHP-Code:
             $abfrage mysql_query("SELECT p.p_name, SUM(l.menge ) FROM produkte p INNER JOIN lagerbestand l ON p.p_id = l.lb_p_pid GROUP BY p.p_id")

            while(
            $line mysql_fetch_object($abfrage)) {
            echo     
            $line->lb_p_id ;
            echo     
            $line->p_name ;


            Kommentar


            • #7
              PHP-Code:
              SELECT p.p_nameSUM(l.menge ) AS summe
              ...
              echo     
              $line->summe
              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                wie kann die query funktionieren wenn l.menge gar nicht existiert.
                Slava
                bituniverse.com

                Kommentar


                • #9
                  Zitat von Slava Beitrag anzeigen
                  wie kann die query funktionieren wenn l.menge gar nicht existiert.
                  alles abgekürzt.

                  @ all

                  *closed*

                  Kommentar

                  Lädt...
                  X