On Wed, 16 Jun 2010 02:58:31 +0200 "Jan Reiter" <the-fallen@xxxxxxx> wrote: > > I have 2 tables. Table A containing 2 fields. A user ID and a picture ID => > A(uid,pid) and another table B, containing 3 fields. The picture ID, an > attribute ID and a value for that attribute => B(pid,aid,value). > > > > Table B contains several rows for a single PID with various AIDs and values. > Each AID is unique to a PID. (e.g. AID = 1 always holding the value for the > image size and AID = 3 always holding a value for the image type) > > > > The goal is now to join table A on table B using pid, and selecting the rows > based on MULTIPLE attributes. > > > > So the result should only contain rows for images, that relate to an > attribute ID = 1 (size) that is bigger than 100 AND!!!!!!! an attribute ID = > 5 that equals 'jpg'. > > > > I appreciate your thoughts on this. > > > > Regards, > > Jan > something like this (untested) $sql = 'select * from a '; $join = ''; $where = array(); //each condition 'column = X' foreach($condition as $count=>$cond){ $join .= ' left join b as b'.$count' on a.pid=b'.$count.'.pid '; $where[] = 'b'.$count'.'.'.$cond; } $sql .= $join.implode(' AND ', $where); -- Simcha Younger <simcha@xxxxxxxxxxxx> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php