Stefanie Schmitz: (MySQL) einfache Abfrage?

Hallo,

tschuldigung, aber ich wusste ich nicht, wie ich das Thema besser hätte formulieren sollen.

Ich hab vermutlich nur ein ganz kleines Problem, aber ich brauch trotzdem mal Eure Hilfe dabei...

Ich hab in einer Tabelle in einem Feld eine Artikelgruppe stehen, die sich etwas kompliziert zusammensetzt aber das ist eben aus der Historie so. Ein Beispiel ist A3ZKV-.

Die Artikelnummer setzt sich aus der Artikelgruppe, einem weiterem Schlüssel und einer fortlaufenden Nummer zusammen.
Ein Beispiel: A3ZKV-GP12345

Nun möchte mit einer MYSQL-Abfrage prüfen, ob ein eingegebner Artikel einer Artikelgruppe entspricht, bzw. aus der Tabelle dann die entsprechenden Informationen über die Artikelgruppe ziehen.
Ein Problem ist, dass die Länge der Artikelgruppe nicht zwingend 5 Zeichen ist, aber immer mit einem Bindestrich endet.
Also sowas wie:
select * from artikelgruppen where $eingabe like tabellenfeld

Da aber $eingabe größer ist, funktioniert das da oben logischerweise nicht.
Aber wie kann ich die Abfrage formulieren, ohne vorher per Script, die Eingabe aufzusplitten und den Teilstring abzufragen?
Gibts da nicht etwas wie (dumm fomuliert)
'where $eingabe fängt genauso an wie tabellenfeld'?

Lieber Gruß,

Eure Steffi

  1. Hallo,

    Alle Strings, die mit A3ZKV- anfangen, kriegst Du mit
    SELECT ... WHERE feldname LIKE "A3ZKV-%"

    LIKE u.s.w.
    http://www.mysql.com/doc/en/String_comparison_functions.html

    String-Funktionen
    http://www.mysql.com/doc/en/String_functions.html

    Fuer Dein ganzes Vorhaben, also eine Query, bei der der
    Suchstring noch nicht festgelegt ist, zu formulieren,
    habe _ich_ keine Antwort.

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
  2. yo,

    du schneidest alles aus der artikelnummer was rechts nach dem bindestrich steht ab. dies kannst du auf zwei möglichen wege machen. entweder du scheindest die variable, welche die artikelnummer enthält, mit der verwendeten programmiersprache ab. oder aber du machst es mit funktionen, die dir mysql zur verfügung stellt. dann wird auch deine SELECT anweisung funktionieren.

    Ilja