Barry, You're 3/4 of the way there.
You understand how data is normalized, and you have the proper keys so that you can link your tables in a multi-table join. For specific syntax you should check the MySQL manual, but what you want is roughly this ..and I'll make up some field names. (Because I'm too lazy to check back to the msg which contained the table structure.) select table1.artist as artist, table3.image as image, table2.song as song from table1, table2, table3 where table3.art_id = table2.art_id and table2.art_id = table1.art_id and table1.art_id = $whch_artist? If there are 20 songs this will return 20 rows. In your PHP code you will have to weed out the duplicate fields as you loop though the returned record set. Alternately, you could break this into two queries - one to return the artist name and image, the other to fetch the songs. The third alternative would be to GROUP the results. I've not tested this, but if it can be properly processed by mysql_fetch_array(), then we're doing the work in SQL, not PHP. Add this line after the where: group by group by artist, image, song Again, if you can test this at the mysql console it will be faster than making changes to a script and re-running it. You may not need to group on image. A very brief test script to see how mysql_fetch_array() handles a grouped record set is a good idea. Might be worthwhile to check Google for "mysql_fetch_array group" Regards - Miles PS Where is "cx"? /mt At 12:38 AM 1/14/2002 +1300, Barry Rumsey wrote: >This is properly a simple question but I can't figure it out. >Lets say I've got there tables: table1(art_id,artist), >table2(song_id,art_id,song), table3(image_id,art_id,image). >What I'm trying to do is get 1 image displayed with the songs on that >album displayed next to it. All I can get is 1image,1 song or 1 image per >song (20 songs = 20 images). -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]