mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 08:58 Benutzername: Passwort: Auto-Login

Thema: Abfrage in nicht normalisierter Tabelle - Regexp die Lösung? vom 14.01.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Abfrage in nicht normalisierter Tabelle - Regexp die Lösung?
Autor Nachricht
Decart
Threadersteller

Dabei seit: 10.08.2006
Ort: Bremen
Alter: 42
Geschlecht: Männlich
Verfasst Fr 14.01.2011 11:20
Titel

Abfrage in nicht normalisierter Tabelle - Regexp die Lösung?

Antworten mit Zitat Zum Seitenanfang

Hallo Leute,

ich habe ein Riesenproblem mit einer Abfrage in einem Datenbankfeld, wo die Fremdschlüssel kommasepariert gelistet sind, also z.B. "2, 21, 46"

Jetzt muss ich eine Abfrage machen (und ich habe nicht mehr Möglichkeiten, als die ein Abfrage, also kein großartiges PHP oder so) und die Datensätze "kriegen" welche z.Bsp. die "2" enthalten ... wobei z.Bsp. natürlich die "21" nicht gezählt werden darf ... also LIKE '%2%' läuft schon mal nicht.

Jetzt gibt es ja die Möglichkeit in Abfragen mit regulären Ausdrücken zu arbeiten ( http://dev.mysql.com/doc/refman/5.1-olh/de/regexp.html )

... nur bekomme ich hier die Syntax nicht (ist glaube ich auch sehr kompliziert in dem Fall), denn sie muss folgendes leisten:

-> vor und nach der gesuchten ID darf quasi alles stehen (auch nix) nur direkt vor und nach der gesuchten ID darf keine Ziffer stehen.

Mein Ansatz war erst einmal folgender:

.*[^digit]" . $gesuchte_id . "[^digit].*

Das funktioniert natürlich nicht, da dieses eine Nichtziffer erfordern würde vor oder nach der gesuchten ID, aber es kann ja auch die erste oder letzte ID sein in dem gesuchten Feld ... ich stehe echt auf dem Schlauch.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Zeithase

Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht: Männlich
Verfasst Fr 14.01.2011 11:25
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
... WHERE FIND_IN_SET('wert',spaltenname)!=0
  View user's profile Private Nachricht senden
Anzeige
Anzeige
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 14.01.2011 11:27
Titel

Antworten mit Zitat Zum Seitenanfang

explode() auf Anwendungsseite und/oder ein WHERE IN auf Datenbankseite.
  View user's profile Private Nachricht senden
Decart
Threadersteller

Dabei seit: 10.08.2006
Ort: Bremen
Alter: 42
Geschlecht: Männlich
Verfasst Fr 14.01.2011 11:45
Titel

Antworten mit Zitat Zum Seitenanfang

Zeithase hat geschrieben:
Code:
... WHERE FIND_IN_SET('wert',spaltenname)!=0


DANKE! Das war es! Explode etc. kann ich nicht nehmen, da es in der Datenbankabfrage funktionieren musste ... (Ich hätte mich vielleicht auch einfacher ausdrücken können mit der Frage nache einem umgekehrten "WHERE IN") ... aber ich dachte ich komme an den REGEXP nicht vorbei
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [PHP] regexp & listen
Javascript RegExp
Javascript Regexp
[PHP] RegExp NERRRRV!
[php] preg_match_all RegExp Problem
Höhe aus Tabelle auslesen und in andere Tabelle einfügen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.