MySQL Subquery und where is problem
Guten Tag,
ich habe folgendes Problem:
Wenn ich diese MySQL Syntax benutze kann ich nicht nach "zustand" oder "status" filtern, zB " where zustand = 'in Ordnung'
select
geraete_id AS outer_id,
hersteller,
typ,
seriennummer,
ipei,
(SELECT zustand FROM geraetehistory LEFT JOIN geraetezustand USING (geraetezustand_id) WHERE geraete_id = outer_id ORDER BY geraetezustand_id DESC LIMIT 1) AS zustand,
(SELECT status FROM geraetehistory LEFT JOIN geraetestatus USING (geraetestatus_id) WHERE geraete_id = outer_id ORDER BY geraetestatus_id DESC LIMIT 1) AS status,
garantiebis
from
geraete
left join geraetetyp using (geraetetyp_id)
ausgabe soll sein:
id | hersteller | typ | snr | ipei | letzter eigentragener wert bei geraetezustand_id in geraetehistory | letzer eingetragner wert geraetestatus_id in geraetehistory | garantie
meine datenbankstruktur sieht wiefolgt aus:
Please also mark the comments that contributed to the solution of the article
Content-Key: 164095
Url: https://administrator.de/contentid/164095
Printed on: April 23, 2024 at 12:04 o'clock
4 Comments
Latest comment
Moin s7mahess,
abgesehen von thaenhusens Kommentar - wenn du diese abfrage gegen das oben abgebildete Datenmodell abfeuerst...
Was ist denn deine Erwartungshaltung?
Eine "geraete_id" wird doch ein-, zwei- oder achtmal gefunden in der Tabelle "geraete_history"
Und nur von da kommst du doch auf den "Zustand" und den "Status".
Wenn schon, dann darfst du doch aus der "geraete_history" nur die neuesten Datensätze, nur den Stand "heute" abziehen.
Oder welche Fragestellung willst du mit diesem Statement beantworten?
Grüße
Biber
abgesehen von thaenhusens Kommentar - wenn du diese abfrage gegen das oben abgebildete Datenmodell abfeuerst...
Was ist denn deine Erwartungshaltung?
Eine "geraete_id" wird doch ein-, zwei- oder achtmal gefunden in der Tabelle "geraete_history"
Und nur von da kommst du doch auf den "Zustand" und den "Status".
Wenn schon, dann darfst du doch aus der "geraete_history" nur die neuesten Datensätze, nur den Stand "heute" abziehen.
Oder welche Fragestellung willst du mit diesem Statement beantworten?
Grüße
Biber