Hello Harry, you can use left join: http://dev.mysql.com/doc/mysql/en/JOIN.html $query = " SELECT members.id, firstname, familyname, middlename, fathername, region3.region3, region4, members.country, country.countryname, MATCH(firstname, middlename, familyname, fathername) AGAINST ('$keywords' IN BOOLEAN MODE) AS score FROM members left join country on members.country = country.id left join region3 on members.region3 = region3.id WHERE MATCH(firstname, middlename, familyname, fathername) AGAINST ('$keywords' IN BOOLEAN MODE) ORDER BY score DESC"; good luck. HG> Hi, HG> I want to run a query on a table while joining it with other tables. HG> Table 1- members HG> id - firstname - middlename - ....- country - region3 HG> Fields country and region3 hold the integer codes for country and region3 is state HG> Table 2- country HG> id - countryname HG> Countryname is where the actual Country name is stored and id is the country code HG> Similarly Table 3 - region3 HG> id - region3 where region3 is the state name and id is the region code. HG> I perform the following query to search the names in the database but the result only gives me the integer values for Country and Region3. That's because, the code is only stored in the database. HG> But I need to join the table 2&3 with 1 so I can extract names of country or region3 rather than integer values. HG> How would I modify the query below? HG> $keywords are the search words. HG> $query = " HG> SELECT id, firstname, familyname, middlename, fathername, region3, region4, country, HG> MATCH(firstname, middlename, familyname, fathername) AGAINST ('$keywords' IN BOOLEAN MODE) AS score HG> FROM members HG> WHERE MATCH(firstname, middlename, familyname, fathername) AGAINST ('$keywords' IN BOOLEAN MODE) ORDER BY score DESC"; HG> Thanks HG> Harmeet -- Best regards, Pablo -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php