Сомневаетесь, как сделать запрос на несколько таблиц с одним словом
Я верхом системой поиска, где пользователь вводит в поле поиска любое слово, Например, "Программист", mysql, придется искать это слово в нескольких областях, в нескольких таблице, на случай, если он найдет это слово где-то мне верните тех, кто является профессионалом, который получает это слово.
Ниже приведены таблицы, и запрос, который я использую в данный момент, но не очень функциональный.
Таблицы/столбцы
Профессиональная:
Код
Pri_nome
Sobre_nome
Enderenco_profissional:
Код
Id_profissional
Штат
Города, то
Historico_escolar:
Код
Id_profissional
Школьного
Опыт:
Код
Id_profissional
в Должности
Query, который я пытаюсь хит!
SELECT a.id FROM profissional a, endereco_profissional b, historico_escola c, experiencia d WHERE a.pri_nome LIKE '%programador%' OR a.sobre_nome LIKE '%programador%' OR b.estado LIKE '%programador%' OR b.cidade LIKE '%programador%' OR c.escolaridade LIKE '%programador%' OR d.cargo LIKE '%programador%' OR a.id = b.id_profissional OR a.id = c.id_profissional OR a.id=d.id_profissional OR a.id=e.id_profissional OR a.id=f.id_profissional GROUP BY a.id
2
1 answers
Классе думаю, мне это удалось. Это было просто использовать немного больше логики и головы порты, or и and.
SELECT a.id FROM profissional a, endereco_profissional b, historico_escola c, experiencia d, area_interesse_profissional e, curso_extra f WHERE a.pri_nome LIKE '%programador%' OR a.sobre_nome LIKE '%programador%' OR (b.estado LIKE '%programador%' AND a.id = b.id_profissional) OR (b.cidade LIKE '%programador%' and a.id = b.id_profissional) OR (c.escolaridade LIKE '%programador%' AND a.id = c.id_profissional) OR (d.cargo LIKE '%programador%' AND a.id=d.id_profissional) GROUP BY a.id
1
Author: Romario Pires, 2015-09-27 15:49:46