Hallo,
ich habe mein Anliegen bereits hier gepostet, allerdings ist das Forum komisch, man kann nichtmal andern helfen wenn der Post einen Monat alt ist.
Nun zu meinem Pronlem, ich habe hier ein seltsames Verhalten, welches ich mir nicht erklären kann.
(Das geübte Auge wird erkennen, dass in einer Zelle Kommaseparierte Daten vorhanden sind, ich weis Normalisation - derzeit nicht möglich)
Es geht um nachfolgende Abfrage:
select * from projects where archived = 0 AND project_manager = 1 OR assign_to REGEXP "(^|,)1(,|$)"
Ich habe es auch mal statt mit REGEXP mit OR FIND_IN_SET ('1', assign_to) probiert, aber da ist das gleiche.
Ich bekomme Datensätze, aber eben auch diese wo archived = 1 ist und die will ich doch nicht.
Lasse ich den Teil mit den Regular Expressions oder FIND_IN_SET weg, funktioniert die Abfrage wie sie soll. Habe schon durch Umstellen
der Abfrage versucht dem entgegen zu wirken, aber das hat nicht geklappt. Sieht hier jemand eine Möglichkeit einer
funktionierenden Abfrage?
LG
Maik
ich habe mein Anliegen bereits hier gepostet, allerdings ist das Forum komisch, man kann nichtmal andern helfen wenn der Post einen Monat alt ist.
Nun zu meinem Pronlem, ich habe hier ein seltsames Verhalten, welches ich mir nicht erklären kann.
(Das geübte Auge wird erkennen, dass in einer Zelle Kommaseparierte Daten vorhanden sind, ich weis Normalisation - derzeit nicht möglich)
Es geht um nachfolgende Abfrage:
select * from projects where archived = 0 AND project_manager = 1 OR assign_to REGEXP "(^|,)1(,|$)"
Ich habe es auch mal statt mit REGEXP mit OR FIND_IN_SET ('1', assign_to) probiert, aber da ist das gleiche.
Ich bekomme Datensätze, aber eben auch diese wo archived = 1 ist und die will ich doch nicht.
Lasse ich den Teil mit den Regular Expressions oder FIND_IN_SET weg, funktioniert die Abfrage wie sie soll. Habe schon durch Umstellen
der Abfrage versucht dem entgegen zu wirken, aber das hat nicht geklappt. Sieht hier jemand eine Möglichkeit einer
funktionierenden Abfrage?
LG
Maik