Hallo,
SELECT group_concat( nem.EM
SEPARATOR ', ' ) AS 'all.EM', neinsaetze.EINSATZNUMMER
FROM neinsaetze
JOIN nem ON neinsaetze.einsatznummer = nem.einsatznummer
GROUP BY neinsaetze.einsatznummer
ergibt:
all.EM EINSATZNUMMER
99-11, 12-42, 10-30, 10-13, 10-10 1100000136
99-11, 10-30, 10-5, 10-13, 12-42, 10-10, 12-42 1100000137
Ich würde gerne soetwas machen wie
WHERE all.EM LIKE %10-5% um die zweite Zeile zu finden.
Weiß jemand eine Lösung oder eine Alternative?
a) die HAVING-Klausel nutzen:
HAVING all.EM LIKE '%10-5%'
b) die relevante Einsatznummer(n) über ein Subselect herausfinden:
WHERE
einsatznummer IN (
SELECT
nem2.einsatzunummer
FROM
nem nem2
WHERE
nem2.EM = '10-5'
)
Es ist Deine Aufgabe herauszufinden, welche der beiden bei Deinen Daten performanter ist. Vermutlich ist es die Lösung mit dem Subselect, weil sie von vornherein viele Datensätze ausfilter. Bei HAVING wird zunächst die gesamte Lösungsmenge ermittelt und erst zum Schluss das ausgefiltert, was Du benötigst.
Freundliche Grüße
Vinzenz