ich habe folgendes Szenario :
Tabelle AUFTRAG:
Code: Alles auswählen
BIGINT ID
TIMESTAMP DATE
Code: Alles auswählen
BIGINT ID
BIGINT AUFTRAG_ID
VARCHAR(64) INFOTEXT
Ich möchte alle Aufträge haben zu denen eine bestimmte Information hinterlegt ist, allerdings gibt es Fälle, bei denen zu einem Auftrag die Information mehrfach hinterlegt ist, weshalb im Ergebnis bestimmte Aufträge mehrfach enthalten sind. Ich brauche aber jede Auftrags ID nur einmal. Mein Abfrage:
Code: Alles auswählen
select ID, DATE,
(select List(INFOTEXT, '|') from INFORMATIONEN where I.AUFTRAG_ID=A.ID) as INFO
from AUFTRAG A
join INFORMATIONEN I on (I.AUFTRAG_ID=A.ID)
where I.INFOTEXT containing :FILTERTEXT
order by A.DATE
https://stackoverflow.com/questions/204 ... -first-row
Wenn ich den etwas ungewöhnlichen subselect(select List()) für die Infofelder weglasse, kann ich es mit einem DISTINCT lösen...
Beste Grüße - Ulrich