Andi: MySQL: Werte aus SET Spalte lesen

Hallo,

ich habe folgendes problem.

SELECT * FROM tb1 WHERE set_spalte & '1,9,26'

ich bekomme nur ein Ergebniss wenn die Zahlen so vorkommen wie ich sie angebe, nicht aber wenn eine der Zahlen in der SET Spalte vorhanden ist. z.B. 9 oder 26 oder 9 & 26 .....

Gibt es da ne möglichkeit?

Danke schon mal,

By Andi

  1. Auch hallo,

    ich habe folgendes problem.

    Richtig, Problem.

    SELECT * FROM tb1 WHERE set_spalte & '1,9,26'

    Ziemlich bloed. Erstens ist deine set_spalte alphanummerisch? Wenn ja, dann ok..

    ich bekomme nur ein Ergebniss wenn die Zahlen so vorkommen wie ich sie angebe, nicht aber wenn eine der Zahlen in der SET Spalte vorhanden ist. z.B. 9 oder 26 oder 9 & 26 .....

    Richtig, das hast du ihm auch so gesagt....

    Gibt es da ne möglichkeit?

    Ja.
    SELECT * FROM tb1 WHERE set_spalte = '1' OR set_spalte = '9' OR set_spalte = '26'

    By Andi

    +e, bitte.

    1. Hallo,

      Meine SET Spalte ist Nummerisch.

      SELECT * FROM tb1 WHERE set_spalte = '1' OR set_spalte = '9' OR set_spalte = '26'

      an die Lösung hab ich auch schon gedacht, aber dass wollte ich eigentlich vermeiden. Wenn dass mal 30 Zahlen sind....
      Suche halt nach einer eleganteren lösung.

      By Andi

      1. Hello,

        Meine SET Spalte ist Nummerisch.

        SELECT * FROM tb1 WHERE set_spalte = '1' OR set_spalte = '9' OR set_spalte = '26'

        1. Numerische Set-Spalten oder Enum-Spalten machen in MySQL Probleme.
           Die Werte sollten auf jeden Fall alphanumerisch sein.

        2. Es gibt die Funktion Find_in_set(search,Set)

        3. n:m-Vergleiche mit Sets kann man mMn nur mittels OR-Verknüpfung herstellen
           was dafür sprechen würde, Sets und Enums, nach denen gesucht werden soll
           als eigene Tabelle aufzulösen.

        Harzliche Grüße aus http://www.annerschbarrich.de

        und Frohes Fest

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau