_Philipp_: Inner Join mit mehreren Variablen in einem Feld

Beitrag lesen

Hallo alle miteinander,

ich programmiere gerade an einem Aufgabenkalendar, in dem sich Benutzer eintragen können. Hierzu habe ich in einer MYSQL-Datenbank die folgende Tabelle angelegt:

CREATE TABLE `calendar` (  
  `calendar_id` int(11) NOT NULL auto_increment,  
  `startTime` datetime NOT NULL default '0000-00-00 00:00:00',  
  `endTime` datetime NOT NULL default '0000-00-00 00:00:00',  
  `calendar_cats_id` tinyint(3) NOT NULL default '0',  
  `location` varchar(255) NOT NULL default '',  
  `title` varchar(255) NOT NULL default '',  
  `description` tinytext NOT NULL,  
  `min_participants` tinyint(2) NOT NULL default '0',  
  `min_skill` tinyint(3) NOT NULL default '0',  
  `car` tinyint(1) NOT NULL default '0',  
  `calendar_acces` tinyint(3) NOT NULL default '0',  
  `auto_reminder` tinyint(3) NOT NULL default '0',  
  `notify` tinyint(1) NOT NULL default '0',  
  `user_id` varchar(255) NOT NULL default '0',  
  `visibility` tinyint(1) NOT NULL default '1',  
  PRIMARY KEY  (`calendar_id`)  
) TYPE=MyISAM AUTO_INCREMENT=12 AUTO_INCREMENT=12 ;

In der Zeile user_id stehen mit einem Trennzeichen getrennt MEHRERE! id's von Benutzern, die sich auf diesen Termin angemeldet haben. Das Problem ist eben, dass es mehr als nur eine id ist.
Über die user_id referenziere ich dann auf die Tabelle users, aus der ich mir per Inner Join den Benutzernamen ausgeben lassen will.
Das ganze funktioniert jetzt natürlich nur vernünftig, wenn nur eine einzige id in meinem Feld calendar.user_id eingetragen ist.
Hier noch mal mein Select-SQL-Statement:

SELECT calendar.title,calendar.startTime,calendar.endTime,calendar.location,calendar.car,calendar.min_participants,users.user_familyname,users.user_realname FROM calendar INNER JOIN users ON calendar.user_id=users.user_id

Gibt es irgendeine Möglichkeit, dass ich auch mehrere Benutzer-ID's eingeben und dadurch mehrere Benutzernamen gleichzeitig herauslesen kann.
Also ich stelle mir das etwa so vor:

In 'calendar.user_id' steht "54,37,44,11"

In der Tabelle 'users' sind die Benutzer Fritz mit Id 54, Franz mit 37, Hugo mit 44 und Sepp mit 11.

Mein Select soll mir jetzt so etwas wie "Fritz,Franz,Hugo,Sepp" ausgeben.

Ich hoffe ich konnte mein Problem anschaulich genug darstellen.
Ich bin froh über jede Hilfe oder Vorschläge zu einer alternativen Lösung.

Vielen Dank