Mailinglisten-Archive |
Hi Friedrun,
> moechte Datensaetze aus zwei verschiedenen Tabellen
> miteinander vergleichen und mit der Schnittmenge
> anders verfahren, als mit dem Rest.
okay,
dann ergibt sich jedoch die Frage:
Was soll gemacht werden ?
Kann man die 'ungleichen' gleich komplett vergessen,
oder sollen die nur anders weiter verarbeitet werden?
Wenn man die vergessen kann, braucht man sie gar
nicht erst aus der Datenbank rausholen:
SELECT * FROM table1 AS aa
LEFT JOIN table2 as bb ON aa.wert1 = bb.wert2;
liefert Dir alle Werte fuer die table1.wert1
gleich table2.wert2 ist. Die Namen musst Du nur
an Deine Struktur anpassen.
Willst man die ungleichen Reccords haben, aendert
man nur die Bedingung:
SELECT * FROM table1 AS aa
LEFT JOIN table2 as bb ON aa.wert1 != bb.wert2;
So hast Du fuer jede Verarbeitungsart einen Resultset.
Liegen jedoch die beiden Arrays schon vor, muss man
den Vergleich in PHP coden:
<?
foreach($ARR1 as $value1) {
foreach($ARR2 as $value2) {
if ($value1 == $value2) {
/* tue dies */
} else {
/* tue das */
}
}
}
Soweit aus dem Stegreif und ungetestet ... :-)
m. b. G. Norbert
_____________________
normal: 02686-987103
Notruf: 0163-3613642
---------------------
e.o.m.
php::bar PHP Wiki - Listenarchive