select .... where ....IN ( ...)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • select .... where ....IN ( ...)

    Hi,

    wie kann man eigentlich in einer select-Anweisung der Form
    select * from Tabelle where Stadt IN ('Genf', 'Stuttgart') mit Platzhaltern arbeiten der Form
    select * from Tabelle where Stadt IN ('Ge%', 'Stut%')

    So mit % funktionierts nicht! hat jemand ne Lösung

    Thanks, cu Ralf

  • #2
    Hi
    So könnte es auch gehen
    select * from Tabelle where
    Stadt like '%Genf%'

    Gruß
    Arni
    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

    Kommentar


    • #3
      jupp. Die Platzhalter funktionieren nur mit like ...
      wenn du also ein array $suche = array ('Ge%','Stut%') hast, bekommst du eine saubere query mit

      $query = 'select * from Tabelle where Stadt like '.implode (' and Stadt like ',$suche);
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        Tolle Lösung Titus - Danke, funktioniert, und danke auch an Arni,
        aber in diesem Zusammenhang hat sich ein anderes Problem gezeigt.
        nähmlich dieses:
        In einer Tabelle hab ich das Feld 'Stadt'.
        der 1. Datensatz hat in diesem Feld die Einträge
        'Köln, München, Stuttgart'

        der 2. Datensatz in diesem Feld die Einträge
        'Hamburg, Genf'

        wenn ich nun habe
        $suche =array ('%Ge%', '%Stut%')
        $query = 'select * from Tabelle where Stadt like 'implode ('or Stadt like',$suche);

        dann werden beide Datensätze nicht berücksichtigt obwohl Datensatz 1 im Feld Stadt den Wert Stuttgart hat und Datensatz 2 im selben Feld den Wert Genf!

        Gibts hierfür noch eine Lösung?

        Kommentar


        • #5
          nochmal ich,

          steckt die Lösung vielleicht in regulären Ausdrücken, preg()-Funktionen begraben?

          Ralf

          Kommentar


          • #6
            die Lösung steckt darin, dem implode noch ein paar Leerzeichen zu spendieren:

            implode ('(LEERZEICHEN)or Stadt like(LEERZEICHEN)',$suche)
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar

            Lädt...
            X