> -----Original Message----- > From: livejavabean > Sent: Thursday, February 10, 2005 16:47 > To: mysql@lists.mysql.com > Subject: 1 to many query > > Hi there.. > > > > Hope you can give me some thoughts on this. let say we have 3 tables > > > > table 1 (pk=project_id) > ======= > - project_id > - project_name > > table 2 (pk=project_id, project_state_flag) > ======= > - project_id > - project_state_flag (fk to state_flag) > > table 3 (pk=state_flag) > ======= > - state_flag > - state_flag_name > > > thank you.. but do u think it is possible to make the query return: > > - 1 row per project > - each project state row's state become a column > e.g. > > project 1, name, state a, state b, state c... > project 2, name, state a, state b, state c. > > thanks in advance..
This looks like a many to many relationship to me. Each project is associated with multiple state_flags, and each state_flag can be associated with multiple projects. If you have mysql 4.1 or greater, you can use try the following. It won't get you separate columns for each state_flag_name, but it will give you a list of all the state_flag_names associated with each project in a single column. SELECT t1.project_id, t1.project_name, GROUP_CONCAT(t3.state_flag_name) as state_flags FROM t1 INNER JOIN t2 ON (t1.project_id = t2.project_id) INNER JOIN t3 ON (t2.project_state_flag = t3.state_flag) GROUP BY t1.project_id > > regards, > -ljb --- Tom Crimmins Interface Specialist Pottawattamie County, Iowa -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]