Ich habe 2 Tabellen: Master und Detail, die über ein ID-Feld verknüpft sind. Ich möchte nun alle Master-Datensätze haben, zu denen es mindestens einen Detaildatensatz gibt, der im Feld Text das Wort %Test% enthält.
Ich habe dazu zunächst beide Tabelle mit einem Join über ID verbunden. Das hat dazu geführt, dass der selbe Master-Datensatz öfter im Ergebnis zurückgegeben wird, wenn er mehrere Detaildatensätze hat, die %Test% enthalten. Damit die Master-Datensätze nicht mehrfach im Ergebnis enthalten sind, habe ich das "group by" für alle meine 22! Felder hinzugefügt. Ist das richtig/schön so? Gibt es eine bessere/schnellere Möglichkeit?
Hier der Code in kurzer Form:
Code:
select m.id, m.feld2, m.feld3, m.feld4 from Master m
join Detail d on m.id = d.id
where d.text like '%Test%'
group by 1,2,3,4