On Sun, Mar 16, 2003 at 08:02:02AM +0000, Daniel Harik wrote: > Hello, > > Guys i try to join to tables > > slides: > id > userid > file > moment > > users > id > username > > As there few slids per user and i want to get only last one, i use following > sql query, but it fetches me first slide. How can i make it fetch last one > please? > > SELECT slides.file, slides.moment, users.id, users.username FROM slides, > users where users.id=slides.userid GROUP BY users.id desc This isn't a PHP question. This relates to the DBMS. You should specify which DBMS you are using. However, MySQL is the only DBMS I know of that will let you run that query, so I'll assume that you're using MySQL. I'll also assume that the Moment column is a time. If it is not, replace Moment with whichever column identifies the last slide. SELECT u1.UserName, u1.UserId, s1.File, s1.Moment FROM Users u1, Users u2, Slides s1, Slides s2 WHERE u1.UserId = s1.UserId AND u2.UserId = s2.UserId AND u1.UserId = u2.UserId GROUP BY u1.UserId, s1.SlideId HAVING Max(s1.Moment) = Max(s2.Moment); BTW, you can't assume that your original statement will always return the first slide. People who have tested GROUP BY statements say that the value returned from columns with no aggregate function is somewhat random. Bob Hall -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php