2015-04-20 3 views
3

Я хочу получить записи из базы данных в моем текущем проекте.Несколько Поиск в базе данных

У меня есть 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

предоставьте определение таблицы. Каковы основные и внешние ключи в ваших таблицах. ? –

+0

в первой таблице Reg_id - это PK .. В отдыхе это FK .. – Arshi

ответ

0

Ты какие-то ошибки в письменной форме условия соединения. Я попытался это исправить. Попробуйте это, он должен работать;

SELECT BI.reg_id, BI.name 
FROM basic_info BI 
INNER JOIN 
    Education E ON BI.reg_id = E.reg_id 
INNER JOIN 
    Location L ON BI.reg_id = L.reg_id 
INNER JOIN 
    Other_details OD ON BI.reg_id = OD.reg_id 
INNER JOIN 
    (Select reg_id, martial_status, height, education, city FROM Partner where reg_id = 'Your_ID') P 
    ON BI.reg_id = P.reg_id 
WHERE 
    BI.marital_status = P.marital_Status 
    AND E.Education = P.Education 
    AND L.city = P.City 
    AND OD.height <= P.Height 
    AND BI.reg_id <> 'Your_ID'; 
Смежные вопросы