2012-05-26 5 views
0

У меня есть две таблицы. болезни и врача. болезнь к врачу 1 ко многим отношениям.сложный mysql присоединился к запросу

, когда я ищу по ключевому слову, которое будет соответствовать всем именам болезней и врачей и покажет приведенные данные. предположим, я написал «Карим». это будет имя болезни болезни из таблицы болезни и названия врачей из таблицы врачей. и где он найдет правильное совпадение, он выберет строку.

Я не понимаю, как написать этот запрос. Я могу сделать это всего за 1 стол. вот мой код:

$query = "select * from disease where diseasename = '".$txtSearch."'"; 
$query = "select * from doctor where doctorname = '".$txtSearch."'"; 

но plz любой может сказать мне, как присоединиться к этим двум запросам?

+1

Какой результат вы хотите достичь? Насколько полезным может быть результат, связанный с запутанными заболеваниями и врачами? PS: этот вопрос не является сложным и не связан с присоединением – zerkms

+0

Как выглядят эти таблицы? –

ответ

1

Что вы ищете, это ключевое слово OR. Try:

$query = "select * from disease dis inner join doctor doc on dis.doctor_id = doc.id where (dis.diseasename = '".$txtSearch."' or doc.doctorname = '".$txtSearch."')"; 

Я сделал несколько предположений по именам столбцов, так как вы не отправили их в вашем вопросе. Вам придется заменить их соответствующими из своей базы данных.

+0

Я не совсем уверен, что вы имеете в виду, но я должен был использовать внутреннее ключевое слово. В наши дни написано слишком много HQL. – Jeshurun

+0

thnks @jeshurun. моя цель выполнена. –

+0

@zerkms Все еще не уверен, что вы имеете в виду. 'on dis.doctor_id = doc.id' - это не условие соединения? – Jeshurun

Смежные вопросы