If you know the subjects beforehand select name, concat(if(count(if(subj = 'English', 1, NULL)) = 1, 'English,', ''), if(count(if(subj = 'History', 1, NULL)) = 1, 'History,', ''), if(count(if(subj = 'Math', 1, NULL)) = 1, 'Math,', ''), if(count(if(subj = 'Politics', 1, NULL)) = 1, 'Politics,', ''), if(count(if(subj = 'Zoology', 1, NULL)) = 1, 'Zoology', '')) as subjects from staff, subject where staff.staff_id = subject.staff_id group by name But that's just for fun. It is better to use your php as others have suggested. Leif ====================================== Leif Andersson, Systems Librarian Stockholm University Library -----Ursprungligt meddelande----- Från: Code for Libraries [mailto:[log in to unmask]]För Andrew Darby Skickat: den 29 november 2004 22:18 Till: [log in to unmask] Ämne: [CODE4LIB] SQL question Hello, all. Based on the pretty SQL I saw in some recent posts, I thought I would fall on the mercy of the crowd, and see if anyone could help . . . I'm trying to display (using MySQL/PHP) a list of subject librarians and their associated subjects, in a neat table. This gets me close: SELECT lname, fname, title, tel, email, supersubject FROM supersubs, staff WHERE supersubs.staff_id = staff.staff_id GROUP BY lname except only the first associated subject is delivered. The following query gets me all the data I need, but with all the librarian info duplicated: SELECT lname, fname, title, tel, email, supersubject FROM supersubs, staff WHERE supersubs.staff_id = staff.staff_id GROUP BY lname, supersubject Is there a way, in the SQL, to generate my "mama bear" set: i.e., with the subjects grouped together like so: Smith, Joe | English, History, Italian | 425-5000 | [log in to unmask] Turner, Ted | Math, Politics, Zoology | 425-5111 | [log in to unmask] Or do I have to run another query inside the php loop? (I seem to remember, from a previous life, that you could do these "queries within queries" in ColdFusion.) Thanks, and I hope this doesn't qualify as a dumb question . . . Andrew Darby