SQL Spalten nach Anfangsbuchstaben auslesen

Agyss

Cadet 4th Year
Registriert
Dez. 2011
Beiträge
67
Hallo zusammen,

ich möchte per SQL alle Spalten auslesen, die mit "Event" beginnen.
Die Tabelle ist etwa so aufgebaut:

Vorname | Nachname | Adresse | Alter | Event1 | Event2 | Event3 | .....

Die Anzahl der Events ist fortlaufend und vom Wert boolean.
Es handelt sich um eine MySQL Datenbank.

Nun möchte ich alle Events auslesen, egal wieviele es sind.

Danke für eure Hilfe.
Schöne Grüße
Agyss
 
Mir ist sowas nicht bekannt.

Für mich sieht es jedoch so aus als ob es sich hier um eine 1:n Beziehung handelt und deshalb eine Separate Tabelle für Events besser geeignet wäre.

Erläutere mal bitte deinen Sachverhalt etwas näher.

Danke und grüß,
 
Warum lagerst du die Events nicht in eine eigenständige Tabelle aus?
 
Danke für die schnelle Antwort.

Wir haben ein Projekt, an dem sich verschiedene Unternehmen beteiligen.
Dieses Projekt ist langfristig angelegt und es werden immer wieder Events veranstaltet.
Damit ersichtlich ist, welches Unternehmen an welchem Event teilnimmt und die Anzahl der Events nicht bekannt ist, brauchen wir etwas in diese Richtung.

Warum lagerst du die Events nicht in eine eigenständige Tabelle aus?
Weil ersichtlich sein muss, welches Unternehmen an welchem Event teilgenommen hat und Redundanz vermieden werden sollte.

Schöne Grüße
Andreas
 
Und genau dafür nutzt man eine eigenständige Tabelle mit den Spalten ID (für die eigene ID in der Tabelle) und der Kunden ID, damit eine Zuweisung stattfinden kann.
 
Das Datenbankdesign ist - wie schon angesprochen wurde - schlichtweg falsch. Eine eigene Tabelle für die Events ist wirklich das beste.

Ansonsten kennt MySQL auch den Befehl "Describe" und liefert dir die Tabellenstruktur. Nach Event filtern, Query bauen, ausführen.
 
Dann mach so etwas:

Tabelle 1 "Unternehmen" (U_id, Vorname, Nachname, Adresse.....)
Tabelle 2 "Event" (E_id, Name, Datum, Uhrzeit, ort, Thema.......)
Tabelle 3 "UnternehmenEvent" (U_id, E_id)

Unterstrichen = primery key
kursiv = foreign key
normal = Normale felder

In Tabelle 1 werden die Unternehmen gespeichert, in Tabelle 2 die Events mit deren genauen Angaben.

In der Tabelle 3 wird gespeichert, welches Unternehmen bei welchem Event teilnimmt.
Ich bin jetzt davon ausgegangen das ein Unternehmen an mehreren Events teilnehmen kann und an einem Event mehrere Unternehmen teilnehmen können. Somit eine n:m Beziehung.
 
Weil ersichtlich sein muss, welches Unternehmen an welchem Event teilgenommen hat und Redundanz vermieden werden sollte.
Sagt dir ERM etwas? Wenn nicht dann schlag da speziell nach wie man n:m (viele zu viele) Beziehungen umsetzt.
Deine Tabelle die du oben beschrieben hast, erfüllt nicht die Bedingen der Normalform.

Von daher brauchst du eine Tabelle mit den Personen (PersonenID, Vorname, Name..usw) und eine Tabelle Events (EventID, Name des Events).
Um jetzt den jeweiligen Personen ein oder mehrere Events zuzuweisen brauchst du eine 3. Tabelle mit (PersonenID, EventID).
Redundanz ist somit nicht vorhanden und du kannst anhand der 3. Tabelle deine gewünschte Information herausfinden.

Edit: zu langsam. IDave hats perfekt dargestellt.
 
Zuletzt bearbeitet:
Super, danke. :D

und somit closed.

Schönen Tag noch.
Schöne Grüße
Andreas
 
Zurück
Oben