CASE WHEN und REGEXP?
Von: Peter (peter.gilles@gmail.com) [Profil]
Datum: 12.10.2009 19:34
Message-ID: <c1ed4461-b460-4aa5-9421-e02bf235a0b9@b2g2000yqi.googlegroups.com>
Newsgroup: de.comp.datenbanken.mysql
Datum: 12.10.2009 19:34
Message-ID: <c1ed4461-b460-4aa5-9421-e02bf235a0b9@b2g2000yqi.googlegroups.com>
Newsgroup: de.comp.datenbanken.mysql
Hallo zusammen, aus einer Namendatenbank möchte ich in einem Schritt bestimmte Namen heraussuchen und die jeweiligen Anzahlen gruppiert pro Wohnort/ Gemeinde ausgeben. Zusammengebastelt habe ich folgendes Konstrukt, das tatsächlich funktioniert: SELECT *, SUM(CASE WHEN name = 'Schmit' THEN anzahl END) AS zahl1, SUM (CASE WHEN name ='Schmitz' THEN anzahl END) AS zahl2, SUM(CASE WHEN name ='Meyer' THEN anzahl END) AS zahl3 from namen WHERE name='Schmit' or name = 'Schmitz' or name = 'Meyer' GROUP BY gemeinde Es gibt mir pro 'gemeinde' die Häufigkeiten von 'Schmit', 'Schmitz' und 'Meyer'. Nun möchte ich aber neben 'Schmitz' auch 'Schmitzens' bekommen, und würde daher mit REGEXP arbeiten, allerdings funktioniert Folgendes dann nicht, bzw. der REGEXP-Aufruf wird ignoriert und die Abfrage wird so wie oben durchgeführt. SELECT *, SUM(CASE WHEN name REGEXP 'Schmit' THEN anzahl END) AS zahl1, SUM(CASE WHEN name REGEXP 'Schmitz' THEN anzahl END) AS zahl2, SUM(CASE WHEN name REGEXP 'Meyer' THEN anzahl END) AS zahl3 from namen WHERE name='Schmit' or name = 'Schmitz' or name = 'Meyer' GROUP BY gemeinde Hat jemand ne Idee, woran das liegen könnte? Merci, Peter[ Auf dieses Posting antworten ]
Antworten
- Stefan Dreyer (12.10.2009 22:53)
- Peter (14.10.2009 09:42)
