AW: mySQL-Abfrage
Wenn der Amtsinhaber nicht zurückgetreten ist, gibt es einen Eintrag mit Status 1, aber keinen korrespondierenden Eintrag mit Status 2. Damit exakt diese Situation auch angezeigt wird, ist es ein LEFT JOIN.
Ich weiß nicht, was bei dir da exakt falsch läuft. Das Problem könnten schon vertauschte Zeilen sein, ein Tippfehler oder sowas. Wie gesagt, bei mir funktioniert es. Meine lokale MySQL-Version ist zwar nicht die neuste, aber ich bezweifle dass sich etwas seitdem fundamental geändert hat.
Folgend eine Ausgabe der Konsole mit der obigen Anfrage, wobei aber noch nicht nach "t2.status is NULL" gefiltert ist:
Code:
mysql> select * from t t1 left join t t2 on t1.id_name = t2.id_name and t1.id_amt = t2.id_amt and t1.status != t2.status and t1.id_datum < t2.id_datum where t1.status = 1;
+----+---------+--------+----------+--------+------+---------+--------+----------+--------+
| id | id_name | id_amt | id_datum | status | id | id_name | id_amt | id_datum | status |
+----+---------+--------+----------+--------+------+---------+--------+----------+--------+
| 1 | 1 | 1 | 1 | 1 | 3 | 1 | 1 | 4 | 2 |
| 2 | 2 | 2 | 1 | 1 | 5 | 2 | 2 | 5 | 2 |
| 4 | 3 | 1 | 4 | 1 | NULL | NULL | NULL | NULL | NULL |
| 6 | 1 | 3 | 6 | 1 | NULL | NULL | NULL | NULL | NULL |
| 7 | 2 | 2 | 5 | 1 | NULL | NULL | NULL | NULL | NULL |
+----+---------+--------+----------+--------+------+---------+--------+----------+--------+
5 rows in set (0.00 sec)
Falls du mal Zeit tagsüber Zeit hast, kannst du mich auch mal direkt in ICQ #86198212 anschreiben. Vielleicht können wir das besser per Direktkommunikation oder TeamViewer lösen.
Du könntest auch mal für jeden Teilschritt der Anfrage (wie ich es gemacht habe) die Ausgabe (und die exakte Anfrage) hier anonymisiert einfügen. Vielleicht sieht man dann den Fehler.
Duddle