Tabellenvergleich (mySql) mit PHP

schrenzor

Mitglied
Hallo miteinander!

Ich hoffe ich entschied mich richtig fürs PHP - Forum, da es ja doch einiges mit mySql zu tun hat :-)

Ich habe folgendes Problem:

Es sollen 2 Tabellen abgefragt, und danach verglichen werden, d.h. es sollen nur Werte ausgegeben werden, die zwar in der einen, aber nicht in der anderen Tabelle existieren. Jetzt zu meiner Frage:

Ist es möglich folgender Algorythmus in mySql zu schreiben?

PHP:
$aHandled = array();
$dqHandled = mysql_query("SELECT nPicId FROM pms_product2picture");
while($drHandled = mysql_fetch_array($dqHandled)) {
	$aHandled[] = $drHandled[nPicId];
}

$dqHandle = mysql_query("SELECT * FROM pms_picture");
while($drHandle = mysql_fetch_array($dqHandle)) {
	if(!in_array($drHandle[nPicId], $aHandled)) {
		$eClass = fChangeClass();
		$eFilename = $drHandle[sName];
		$eProduct = fGenSelect("pms_product", "nProId", "sNameProduct", "Product");
		eval("\$eFiles .= \"".fGetTemplate("pmsHandle_Bit")."\";");
	}
}

mfg rene
 
hallo,

bin mir nicht sicher ob es so funktioniert, aber man kann das als reine sql abfrage schreiben. das würde in sql ungefähr so aussehen:

Code:
SELECT x.nPicId FROM pms_product2picture x WHERE NOT EXISTS (SELECT * FROM tabelle2 y WHERE y.nPicId = x.nPicId)

wie gesagt bin mir nicht ganz im klaren ob das in mysql auch funktioniert, aber einfach mal probieren. in einfachen worten heißt die obige anweisung: wähle alle variablen aus tabelle1 die nicht in tabelle2 existieren.
 
Zurück