организовать поиск по всем полям у взаимосвязанных таблиц

fanat190

Новичок
Всем привет. Есть например 4 таблицы клиент, проект, этап, документ. связваны они по id. Вопрос: как мне можно организовать поиск по всем полям этих 4 таблиц.
 

riff

Новичок
В SQL'е можно объединять таблицы (JOIN), можно задавать условия выборки (WHERE).
SELECT fields FROM table
INNER JOIN other_table ...
WHERE
client = ...
AND project = ...
AND ...

Ты это хотел услышать? Судя по вопросу - да.
 

fanat190

Новичок
в общем случае да. спасибо большое) почему-то не привык JOIN использовать.
 

fanat190

Новичок
вдруг кому-то пригодиться
$q = "SELECT *
FROM clientt
LEFT JOIN proekt ON clientt.id_clientt=proekt.id_clientt
LEFT JOIN etap ON etap.id_proekt=proekt.id_proekt
LEFT JOIN dokument ON dokument.id_proekt=proekt.id_proekt AND dokument.id_etap=etap.id_etap
WHERE name_clientt LIKE '%$$query%'
OR proekt.name_proekt LIKE '%$query%'
OR etap.name_etap LIKE'%$query%'
OR dokument.name_dokument LIKE '%$query$'
";
 

WMix

герр M:)ller
Партнер клуба
PHP:
WHERE name_clientt LIKE '%$$query%' /*тут ошибка кажись*/
OR proekt.name_proekt LIKE '%$query%'
OR etap.name_etap LIKE'%$query%'
OR dokument.name_dokument LIKE '%$query$' /*тут ошибка кажись*/
всегда старался избегать такие штуки эти OR LIKE %% до добра не доведут - первые в списке оптимизаций запросов
 
Сверху