Hi
Muss eine Selection machen und immer die ersten Einträge eines bereiches ausgeben. nun kann der Bereich a den ersten Datensatz haben oder der Bereich B ich brauche jedoch nur die A
Ich kann die Datenbank, resp. die Selektion so machen, dass entweder A oder B kommt, aber wenn Schon A und B mit dabei ist kommt es immer.
Ziel ist
maya A 1.1.09
hubert A 15.5.09
eugen A 16.9.09
sonja B 14.6.09
karl B 23.7.09
helmut B 12.12.09
eugen hat noch einen Eintrag in B am 15.10.09 und sonja in A am 15.6.09
Aktuell bekomme ich entweder
maya A 1.1.09
hubert A 15.5.09
karl B 23.7.09
helmut B 12.12.09
oder
maya A 1.1.09
hubert A 15.5.09
sonja A 15.6.09
eugen A 16.9.09
sonja B 14.6.09
karl B 23.7.09
eugen B 15.10.09
helmut B 12.12.09
Ich mache eine erste Selektion und lege alle ID in einen Array. die gleiche Person muss jedoch in der zweiten Selektion mit dabei sein wenn das Datum vorher ist. Und darf nicht mit dabei sein wenn das Datum nachher ist.
Die Selektion geht über mehrere Tabellen, deshalb ist der Code recht lang. Ich habe alles was klappt weggelassen in der Hoffnung, dass ihr den Code trotzdem versteht.
PHP-Code:
$Neu2 = array();
$queryneu2 = "SELECT id_vertr FROM db
where bereich=A
and verm_ab between $start and $ende
and erfadat between $start and $ende";
$resultneu2 = mysql_query($queryneu2,$link);
while ($row2 = mysql_fetch_array($resultneu2))
{
$Neu[]=$row2['id_vertr'];
}
$query = "SELECT * FROM db
where bereich=B
and verm_ab between $start and $ende
and erfadat between $start and $ende
and id_vertr NOT IN (" . implode(',', $Neu).")";
Wie bringe ich das Datum noch dazu, also in Worten sollte die Selektionheissen:
1. selektiere alle mit A innerhalb einer Zeit
2. Selektiere alle mit B, und wenn jemand auch ein A hat, dann trotzdem selektieren wenn das Datum bei B vor jenen von A ist.