[MSSQL] Möglichkeit einer bestimmten Abfrage?

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

  • [MSSQL] Möglichkeit einer bestimmten Abfrage?

    Hallo alle zusammen,

    Ich bin gerade am grübeln und sitze dabei über einem MySQL Query, in welchem ich eine bestimmte Where Klausel bräuchte aber nicht weiß, wie oder obs überhaupt so geht.

    In meiner SESSION habe ich zB. die UserID 7 vom derzeit angemeldeten User. Diese ID müsste ich mit den IDs vergleichen, die in einem bestimmten DB Feld gespeichert sind. In diesem Feld steht dann zb: 1,45,7, 23

    Gibt es irgendeinen MySQL Befehl, mit dem ich in meiner WHERE Klausel diesen String mit meiner in der Session bestehenden ID vergleichen kann? zB. Gib mir alle Datensätze, wo im Feld X die userID 7 vorhanden ist.

    Dank euch...

    Mario

  • #2
    Re: [MSSQL] Möglichkeit einer bestimmten Abfrage?

    Original geschrieben von GELight
    die in einem bestimmten DB Feld gespeichert sind. In diesem Feld steht dann zb: 1,45,7, 23
    Lass mich raten, die Spalte ist vom Typ VarChar?

    Google, Stichwort "Normalisierung"

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      [MSSQL] suche

      Nein das Feld ist vom Typ TEXT, da es passieren kann, dass da auch mal viele IDs drin stehen. Wie gesagt... es ist nur ein Feld, wo drin steht, wer diesen Datensatz sehen darf.. mehr nicht.

      Aber davon abgesehen hab ich mein Problem eben gelöst bekommen.
      Habs über LIKE '%...%' gelöst bekommen und es funktioniert super.
      So gefällt mir doch das Query.

      Mario

      Kommentar


      • #4
        Re: [MSSQL] suche

        OffTopic:
        Original geschrieben von GELight
        So gefällt mir doch das Query.
        mir nicht *rolleyes* aber ist ja auch egal, wer nicht will der hat schon~

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          [MSSQL] suche

          Okay... was würdest du da nochmal vorschlagen zu ändern?
          Normalisierung ist mir natürlich ein Begriff... nur was soll ich hier normalisieren?

          Mario

          Kommentar


          • #6
            Re: [MSSQL] suche

            Original geschrieben von GELight
            Normalisierung ist mir natürlich ein Begriff... nur was soll ich hier normalisieren?
            Das vielleicht?
            Nein das Feld ist vom Typ TEXT, da es passieren kann, dass da auch mal viele IDs drin stehen. Wie gesagt... es ist nur ein Feld, wo drin steht, wer diesen Datensatz sehen darf.. mehr nicht.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Re: [MSSQL] suche

              Eine separate Tabelle für die ID-Zugehörigkeiten anlegen, d.h. deine alte Tabelle
              id ids
              1 1,2,3,4
              da die ids-Spalte raus kicken und eine neue Tabelle
              id_von_erster_Tabelle id
              1 1
              1 2
              1 3
              1 4
              machen (natürlich die Spalten-Namen etwas bezeichnender wählen)
              dann kannst du bei Tabelle 2 auf id_von_erster_Tabelle noch einen index setzen und dann mit Joins wunderbar abfragen und musst keinen Full-Select auf die erste Tabelle scheuchen x_X (denn darauf würde es bei einem LIKE auf eine Text-Spalte hinaus laufen)

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                [MSSQL] suche

                Diese Variante ist mir natürlich auch durch den Kopf geschossen aber wäre in meinem Fall hier etwas übertrieben denke ich. Ich sagte zwar, dass die IDs auch mal mehrere oder viele werden können, die in dem Feld stehen aber da sich die Datensätze immer auf ein Projekt beziehen und man davonausgehen kann, dass nie mehr als 1 - 5 oder 10 Projekteinträge vorhanden werden, so denke ich mal ist meine Variante zwar nicht 100% normalisiert aber dennoch ausreichend.

                Mario

                Kommentar


                • #9
                  Re: [MSSQL] suche

                  Wie ich schon sagte, erste Variante = Full Select, was das heißt kannst du dir ja bei Google/mysql-Manual mal anschauen

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar

                  Lädt...
                  X