[SQL allgemein] SELECT ohne spezifische Spaltenangabe kürzer gestalten

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

  • [SQL allgemein] SELECT ohne spezifische Spaltenangabe kürzer gestalten

    Hallöchen liebe SQLer…

    ich habe mich schon etwas umgesehen, aber die doc von MySQL hilft mir irgendwie nicht weiter. Ich frage mich gerade, ob man eine Anfrage wie

    PHP-Code:
    SELECT FROM test WHERE spalte1 hallo or spalte2 hallo or spalte 3 hallo 
    Kürzer gestalten kann, vielleicht mit einer Art Platzhalter oder ähnlichem.

    Wäre für mein Projekt sehr praktisch, da ich nicht immer "wissen kann" in welcher Spalte der gesuchte Wert steht.


    Vielleich hat ja jemand eine Idee…


    PS: Achja, noch etwas: kann ich irgendwie herausfinden, wie die Spalte heißt, wenn ich nach einem Wert suche?

    Um beim obigen Beispiel zu bleiben: Angenommen "hallo" steht in Spalte 3, woher finde ich nun heraus, dass das eben so ist und es nicht etwa in Spalte 1 oder 2 steht?
    Zuletzt geändert von ApoY2k; 21.02.2009, 15:42.
    This is what happens when an unstoppable force meets an immovable object.

  • #2
    Was soll denn das werden? Erkläre mal den Anwendungsfall. Warum weißt du nicht, in welcher Spalte gesucht wird und warum willst du anschließend wissen, in welcher Spalte es einen Treffer gab?

    Kommentar


    • #3
      Ich habe eine Liste erstellt, diese besteht aus 5 Einträgen.

      Diese Einträge können vom User geändert werden, beliebig. Was dort drinsteht sind eigentlich nur 5stellige Zahlen.

      Der Witz ist jetzt, dass man nach diesen Zahlen suchen soll. D.h. man gibt z.B. "12345" ein und dann soll als Ergebnis erscheinen, welcher User diese Zahl in welcher seiner 5 Spalten eingetragen hat.

      Dazu brauch ich also erstens eine Anfrage die in allen Spalten sucht (das geht mit OR natürlich auch, geht mir nur drum obs auch kürzer geht) und eben irgendeine Möglichkeit herauszufinden, welche Spalte es ist).

      Das ist eigentlich alles was dahinter steckt und relevant wäre.
      This is what happens when an unstoppable force meets an immovable object.

      Kommentar


      • #4
        Falsches DB-Design! column(user_id, column_id, column_value) wäre besser. Dann kannst du dein Anliegen mit "WHERE column_value = $search" lösen.

        Kommentar


        • #5
          Ja ich merks auch gerade, dass das nicht ganz so sinnvoll war wie ich es anfangs dachte. Dennoch danke für deine Mühe, ich denke ich werd mich auch weiter in SQL reinfuchsen, hab gerade so angefangen JOINs anzutesten, damit werde ich denke ich auch gut weiter kommen.
          This is what happens when an unstoppable force meets an immovable object.

          Kommentar

          Lädt...
          X