JOIN Abfrage

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

  • JOIN Abfrage

    Hi hab ein Verständnisproblem mit JOIN Abfragen.
    Folgendes möchte ich machen:

    Für jeden angelegten Auftrag gibt es mehrere Charge_Ring Nummer.
    Diese Charge-Ring Nummer werden in der Tabelle "ziehen" abgespeichert.
    Alle diese Charge-Ring werden weiter verarbeitet und in die Tabelle "vergüten" abgespeichert.

    Nun zu meinen Problem:

    Ich möchte mir alle Chargen-Ring Nummern zu einer bestimmten Auftragsnummer anzeigen l
    assen die noch nicht, in der Tabelle "vergüten" angelegt sind.

    PHP-Code:
    $sql="SELECT ziehen.Charge_Ring FROM ziehen JOIN vergueten 
    WHERE ziehen.FA_NR='" 
    $_POST['FA_NR']. "' and vergueten.Charge_Ring!=ziehen.Charge_Ring";
            echo 
    $sql;
            
    $result mysql_query ($sql$link);
            echo 
    $result;
            while (
    $row mysql_fetch_array($result))
            echo  
    "Charge:".$row['Charge_Ring']; 

    Blicke leider da gar nicht durch!!! Hoffe auf euch

  • #2
    versuch mal so:
    PHP-Code:
    "SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN vergueten 
    on vergueten.Charge_Ring=ziehen.Charge_Ring and
    ziehen.FA_NR='" 
    $_POST['FA_NR']. "' having 
    ISNULL(vergueten.Charge_Ring)"

    Slava
    bituniverse.com

    Kommentar


    • #3
      PHP-Code:
      $sql="SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN vergueten
              on vergueten.Charge_Ring=ziehen.Charge_Ring and
              ziehen.FA_NR='" 
      $_POST['FA_NR']. "' having
              ISNULL(vergueten.Charge_Ring)"
      ;
              echo 
      $sql;
              
      $result mysql_query ($sql$link);
              echo 
      $result;
              while (
      $row mysql_fetch_array($result))
              echo  
      "Charge:".$row['Charge_Ring']; 
      da kommt folgender Fehler:

      SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN
      vergueten on vergueten.Charge_Ring=ziehen.Charge_Ring
      and ziehen.FA_NR='1212' having ISNULL
      (vergueten.Charge_Ring)

      Warning: mysql_fetch_array():
      supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\prob\mubea\
      Vergueteprotokoll\test.php on line 20

      Kommentar


      • #4
        Benutze mysql_error, verdampft noch mal!
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          mach bitte so:

          PHP-Code:
          $result mysql_query ($sql$link) or die(mysql_error()); 
          damit wir Meldung von Mysql sehen können
          Slava
          bituniverse.com

          Kommentar


          • #6
            PHP-Code:
            MySQL-FehlerUnknown column 'vergueten.Charge_Ring' in 'having clause' 

            Wird mir gesagt aber den Spaltenname gibt es in der Tabelle

            Kommentar


            • #7
              schreibe bitte "and" statt "having"
              und
              statt $row['Charge_Ring']
              $row[0];
              Zuletzt geändert von Slava; 05.09.2006, 16:05.
              Slava
              bituniverse.com

              Kommentar


              • #8
                Moin, moin

                PHP-Code:
                $sql="SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN 
                        vergueten on vergueten.Charge_Ring=ziehen.Charge_Ring 
                        and ziehen.FA_NR='" 
                $_POST['FA_NR']. "' AND
                        ISNULL(vergueten.Charge_Ring)"
                ;
                     echo 
                $sql;
                        
                $result mysql_query ($sql$link) or die ("MySQL-Fehler: " 
                        
                mysql_error());
                        while (
                $row mysql_fetch_array($result))
                    echo  
                "Charge:".$row['0']; 
                PHP-Code:
                SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN
                 vergueten on vergueten
                .Charge_Ring=ziehen.Charge_Ring 
                and ziehen.FA_NR='1212' AND ISNULL(vergueten.Charge_Ring)
                1.Charge:122222
                2.Charge
                :122223
                3.Charge
                :122224 
                So ne Ausgabe erfolgt, aber die verkehrte bis jetzt werden
                alle Chargen aus der Tabelle "ziehen" ausgelesen. Die 1.
                und 2. Charge sind aber bereits in der Tabelle "vergüten"
                schon bearbeitet wurden und sollten daher gar nicht mehr
                mit angezeigt werden.

                Kommentar


                • #9
                  Ich habe wegen verschiedenen DB- systemen ein Salat in Kopf.
                  letzte versuch.
                  stadt AND vor ISNULL bitte mit WHERE versuchen.
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    Ich will nicht nerven aber kannst du mir sagen wo ich WHERE einsetzen soll.

                    Hab es so versucht, aber da gibt er mir einen Fehler das die Query leer ist.
                    PHP-Code:
                    "SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN
                            vergueten on vergueten.Charge_Ring=ziehen.Charge_Ring
                            AND ziehen.FA_NR='" 
                    $_POST['FA_NR']. "' 
                    WHERE vergueten.Charge_Ring!=ziehen.Charge_Ring"
                    ;
                            echo 
                    $sql;
                            
                    $result mysql_query ($sql$link
                    or die (
                    "MySQL-Fehler: " mysql_error());

                            while (
                    $row mysql_fetch_array($result))
                            echo  
                    "Charge:".$row['0']; 

                    Kommentar


                    • #11
                      PHP-Code:
                      $sql="SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN 
                              vergueten on vergueten.Charge_Ring=ziehen.Charge_Ring 
                              WHERE 
                              ziehen.FA_NR='" 
                      $_POST['FA_NR']. "' AND
                              ISNULL(vergueten.Charge_Ring)"

                      ich glaube

                      Kommentar


                      • #12
                        PHP-Code:
                        $sql="SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN
                                vergueten on vergueten.Charge_Ring=ziehen.Charge_Ring
                                where ziehen.FA_NR='" 
                        $_POST['FA_NR']. "' ";
                                echo 
                        $sql;
                                
                        $result mysql_query ($sql$link
                        or die (
                        "MySQL-Fehler: " mysql_error());

                                while (
                        $row mysql_fetch_array($result))
                                echo  
                        "Charge:".$row['0']; 

                        Ausgabe:


                        PHP-Code:
                        SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN 
                        vergueten on vergueten
                        .Charge_Ring=ziehen.Charge_Ring
                         where ziehen
                        .FA_NR='1212' 

                        1.Charge:122222
                        2. Charge
                        :122223 

                        Kommentar


                        • #13
                          Geht also leider auch nicht er gibt mir immer die Datensätze an die schon in der Tabelle vergüten drin sind.

                          Kommentar


                          • #14
                            Da fehlt ja auch die Hälfte !! Was ist mit
                            PHP-Code:
                            ' AND ISNULL(vergueten.Charge_Ring)"; 
                            s. oben ??
                            ich glaube

                            Kommentar


                            • #15
                              PHP-Code:
                              $sql="SELECT ziehen.Charge_Ring FROM ziehen LEFT JOIN
                                      vergueten on vergueten.Charge_Ring=ziehen.Charge_Ring
                                      where ziehen.FA_NR='" 
                              $_POST['FA_NR']. "' AND ISNULL(vergueten.Charge_Ring)";
                                      echo 
                              $sql;
                                      
                              $result mysql_query ($sql$link
                              or die (
                              "MySQL-Fehler: " mysql_error());

                                      while (
                              $row mysql_fetch_array($result))
                                      echo  
                              "Charge:".$row['0']; 


                              Da gibt er überhaupt keinen Wert aus.

                              Kommentar

                              Lädt...
                              X