Abfragen, ob Datensatz in andere TBL vorhanden

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

  • Abfragen, ob Datensatz in andere TBL vorhanden

    Tag wohl

    Hab das inet schon durchforstet und find einfach net raus, wie ich Abfragen kann ob ein Eintrag in TBL2 in der TBL1 vorhanden ist.

    TBL1 Felder:
    filename
    chksum
    directory

    TBL2 Felder:
    filenamet
    chksumt
    directoryt

    -----------

    Ich habe schon abgefangen, ob die chksum gleich der chksumt der TBL2 ist.

    Nun möchte ich aber eben noch schauen, ob ein gewisser Datensatz von TBL2 auch in der TBL1 ist.

    PHP-Code:
    <?
    $sql = "SELECT * FROM jos_js_checksum, jos_js_temp WHERE jos_js_checksum.filename=jos_js_temp.filenamet 
    AND jos_js_checksum.chksum!=jos_js_temp.chksumt AND
    jos_js_checksum.directory=jos_js_temp.directoryt";
    $result = mysql_query($sql) OR die(mysql_error());
    while($row = mysql_fetch_assoc($result)) {
        echo    "<tr><td align='left'>".$row['filenamet']."</td>";
        echo    "<td align='left'>";
        if($row['jos_js_temp.directoryt'] == "/") {
            echo    substr($row['jos_js_temp.directoryt'], 0, 1);
        }
        else {
            echo    substr($row['jos_js_temp.directoryt'], 2, 50);
        }
        echo    "</td>";
        echo    "<td align='right'>";
        echo    "Checksum stimmt NICHT!";
        echo    "</td></tr>"; 
    }
    ?>
    Hier steht in der letzten TableData CHECKSUM stimmt nicht.

    Nun fehlt eben noch die zweite Abfrage.

    KIann mir da wer helfen?

    Vielen Dank und mit freundlichen Grüssen

    Luca Peter

  • #2
    Re: Abfragen, ob Datensatz in andere TBL vorhanden

    Informiere dich über JOINs. Siehe u.a. Sticky Thread hier im Forum.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Da werd ich total net schlau draus :S

      Hab echt keine Ahnung wie ich die Joins brauchen soll :S

      Kommentar


      • #4
        kann mir denn hier niemand helfen?

        Kommentar


        • #5
          ???

          Kommentar


          • #6

            suchen und lernen

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

            Kommentar


            • #7
              Das geht mit einem LEFT JOIN.
              Suche danach im SQL-Manual, es hat dort auch Beispiele.

              etwa so um herauszufinden, welche fehlen (bzw. vorhanden sind):
              SELECT felder from tabA
              LEFT JOIN tabB ON tabA.checksum=tabB.checksumT und weitere Uebereinstimmungen
              WHERE tabB.checksumT IS NULL (bzw. IS NOT NULL)


              etwa so um jene zu finden, die in beiden sind:
              SELECT felder from tabA
              INNER JOIN tabB ON tabA.checksum=tabB.checksumT und weitere Uebereinstimmungen
              WHERE true


              etwa so um jene zu finden, die in beiden sind:
              SELECT felder from tabA, tabB
              WHERE tabA.checksum=tabB.checksumT und weitere Uebereinstimmungen
              Zuletzt geändert von sejhaa; 24.08.2006, 17:06.

              Kommentar

              Lädt...
              X