Veröffentlicht 6. Juni 200223 j Ich habe ein Problem, und zwar möchte ich zwei Tabellen Werte Vergleichen, nur weiß nicht so genau wie ich das am besten mache : Mein erste Ansatz war wie folgt : Aus der Tabelle A mit eine For-Schleife den Wert Menge auszulesen und eigendlich innerhalb der For-Schleife denn Wert Menge aus der Tabelle B auslesen. Nur dann fiel mit ja ein, wie soll ich die beiden Werte während der Laufzeit Vergleichen - :confused: . Habt ihr eventuell eine Idee ? Sinn und Zweck der ganzen Sache ist das ich in der Tabelle B einen Wert hinterlegen und diese mit dem von A verglichen wird, wenn nun diese gleich oder kleiner als in B hinterlege Wert ist. Soll mir das Angezeit werden,. Sprich ein Meldebestand. Schon einmal danke für eure Hilfe Tool-Time
6. Juni 200223 j Als Tipp ... mache das doch mit einem Select Befehl und vergleiche das Ergebnis. Zum Beispiel: SELECT SUM(tabelle1.feld) AS Wert1, SUM(tabelle2.feld) AS wert2 FROM tabelle1 INNER JOIN tabelle2 ON tabelle2.keyfeld = tabelle1.keyfeld Wenn Du das Ergebnis auswerten willst, kannst Du nun beide Felder miteinander vergleichen. Oder Du fügst die Bedingung die Du für die Werte aus den beiden Tabellen hast einfach noch in den Select Befehl ein. Das ist meiner Meinung am einfachsten. Somit brauchst Du nur das Ergebnis ausgeben. SELECT SUM(tabelle1.feld) AS Wert1, SUM(tabelle2.feld) AS wert2 FROM tabelle1 INNER JOIN tabelle2 ON tabelle2.keyfeld = tabelle1.keyfeld WHERE wert1 <= wert2 Gruss Metaner
19. Juni 200223 j Autor Sorry, aber da finde ich nicht so ganz durch, vielleicht liegt es daran das ich mich an einer for schleifen lösung mit if und else Abfrage verbissen habe. So langsam bekomme ich auch die Abfrage zwischen den beiden Datenbanken bzw. Tabellen hin. Hat sonst noch jemand ein Idee ? Danke noch mal MfG Tool-Time
19. Juni 200223 j Autor Bin nun selber drauf gekommen, mal sehen ob der Algorythmus den Aplha Test übersteht # Auswertung # # Lager Datenbank # $db_lager0 = mysql_connect($mysqlhost, $mysqluser, $mysqlpassword); $sqlab_lager0 = "select * from lager"; $res_lager0 = mysql_db_query("$mysqldb",$sqlab_lager0); $num_lager0 = mysql_num_rows($res_lager0); # Meldung Datenbank # $db_meldung = mysql_connect($mysqlhost, $mysqluser, $mysqlpassword); $sqlab_meldung = "select * from meldung"; $res_meldung = mysql_db_query("$mysqldb", $sqlab_meldung); $num_meldung = mysql_num_rows($res_meldung); # Meldungs Vair echo"<table>"; echo"<tr>"; for($i=0; $i<$num_lager0; $i++) { $modell = mysql_result($res_lager0, $i, "modell"); // lager $menge = mysql_result($res_lager0, $i, "menge"); // lager for($m=0;$m<$num_meldung;$m++) { $produkt = mysql_result($res_meldung, $m, "produkt"); // meldung $melde = mysql_result($res_meldung, $m, "min"); // meldung $herstelle = mysql_result($res_meldung, $m, "hersteller"); //meldung } if($modell=$produkt) { if($melde>=$menge) { # Tabelle # echo"<td bgcolor='$farbe_t'><div align='center'><font color='$schrift'><b>Produkt </b></div></font></td>"; echo"<td bgcolor='$farbe_t'><div align='center'><font color='$schrift'><b>Hersteller </b></div></font></td>"; echo"<td bgcolor='$farbe_t'><div align='center'><font color='$schrift'><b>Menge </b></div></font></td>"; # Variable # echo"</tr><tr>"; echo"<td> </td>"; echo"<td> </td>"; echo"<td> </td>"; echo"</tr><tr>"; echo"<td bgcolor='$farbe_au'><div align='left'><font color='$schrift'><b>$modell </b></div></font></td>"; // lager wert echo"<td bgcolor='$farbe_au'><div align='left'><font color='$schrift'><b>$herstelle </b></div></font></td>"; // meldung wert echo"<td bgcolor='$farbe_au'><div align='center'><font color='$red'><b>$menge </b></div></font></td>"; // lager wert echo"</tr>"; } else { } } echo"<p><p>"; echo"</div>"; } . . . [/php] Scheint so weit zu laufen bis denn Tool-Time
20. Juni 200223 j select table2.qty, table1.productid from table1 left join table2 on table1.productid = table2.productid where table1.value <= table2.value qty = anzahl productid = bestellnummer value = vergleichswert
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.