für ein paar Stunden habe ich an diesem Problem gearbeitet.MySQL existiert nicht unbekannt Spaltenfehler
Ich habe eine Tabelle in MySQL person_state
----------
person_state
----------------------------
id | person_id | state | date
----------------------------
Ich brauche aktive Personen letzte Aktivierungsdaten, Der Zustand eines jeden Menschen oft geändert (Staaten erhalten genannt wurde: aktiv, passiv, warten, blockiert). Wenn eine Person aktiviert und dann deaktiviert ist, sollte meine Abfrage sie nicht bekommen.
Meine Frage ist
select id as activation_id, person_id as active_person_id
from person_state
where state = 'active'
and
not exists(
select * from person_state
where person_id = active_person_id
and
id > activation_id
)
ich Störung erhalte Unknown column 'active_person_id' in 'where clause'.
Vielen Dank für Ihre Zeit
Verwenden Sie Tabellenaliasnamen. – jarlh
Ich denke, dass Sie die falsche SQL zur Datenbank fragen, ich denke, Sie brauchen etwas mehr wie 'GROUP BY person_id HAVING SUM (Zustand = 'aktiv') = 1 UND SUM (state = 'passiv') = 0 '... Aber Iam nicht sicher und kann es ohne Beispieldaten und erwartete Ausgabe –