在数据库中进行多个连接搜索

时间:2015-04-20 12:45:40

标签: mysql sql select join

我想在正在进行的项目中从数据库中获取记录。

我有5张桌子;每个人都会创建保存在四个表中的配置文件,然后定义合作伙伴配置文件我想获取符合个人资料的所有合作伙伴名称。

这是我的表结构:

Basic Info (reg_id, name, gender, dob, martial_status)
Education (id,reg_id,education,college)
Location (id,reg_id,country,state, city)
Other_details (id,reg_id,height, weight)
Partner (id, reg_id, gender, dob, education, college, country, state, city, height, weight,martial_status) [ This is the Main Table]..

到目前为止,我试过这个但没有运气:

SELECT `basic_info`.`reg_id`,
       `basic_information`.`dob`,
       `other_detail`.`height`,
       `location`.`city`,
       `education`.`education` 
FROM `basic_information`
INNER JOIN(
          SELECT * 
          FROM `patner` 
          WHERE `patner`.`reg_id`='shi01') `patner` 
      ON `basic_information`.`martial_status`=`partner`.`martial_status` 
      AND `basic_information`.`reg_id`!='shi01'
INNER JOIN `education` 
      ON `patner`.`education`=`education`.`education` 
      AND `patner`.`education`=`education`.`education`
INNER JOIN `location` 
      ON `patner`.`city`=`location`.`city`
INNER JOIN `other_detail` 
      ON `patner`.`bodytype`=`other_detail`.`body_type` 
      AND `patner`.`skin`=`other_detail`.`skin` 
      AND `patner`.`height1` <=  `other_detail`.`height` 
GROUP BY `basic_information`.`reg_id`;

0 个答案:

没有答案
相关问题