i agree with bastien and i'll add a bit more detail. table structure:
CREATE TABLE `users` (
`user_id` smallint(4) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`email` varchar(50) default NULL,
PRIMARY KEY (`user_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
CREATE TABLE `events` (
`event_id` smallint(4) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`date_time` datetime default NULL,
`location` varchar(25) default NULL,
PRIMARY KEY (`event_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
CREATE TABLE `event_link` (
`event_link_id` smallint(4) NOT NULL auto_increment,
`user_id` smallint(4) default NULL,
`event_id` smallint(4) default NULL,
PRIMARY KEY (`event_link_id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;
then lets say you want to know all of the events that user number 7 is signed up for:
SELECT events.*, event_link.event_id FROM events, event_link WHERE events.event_id = event_link.event_id AND event_link.user_id = 7
or who's coming to event number 10:
SELECT users.*, event_link.user_id FROM users, event_link WHERE users.user_id = event_link.user_id AND event_link.event_id = 10