JOIN запрос

vladimircape

Новичок
Помогите сформировать правильный JOIN запрос
Есть таблица исполнителей, имеющих тип(от 1...18) и имеющий адресс в виде почтового индекса(но в таблице он указан просто цифрой, которая является id в другой таблице индексов, там есть id и номер индекса)
Нужно подсчитать всех исполнителей, с определенным типом, и номером индекса LIKE
пока вот что есть

SELECT COUNT(*) FROM contractors INNER JOIN zip ON contractors.zip=zip.id WHERE contractors.type=1 AND zip.zip LIKE %234%;
 
Где вопрос?

И кстати зачем кодировать индекс? Это и так код.
 
Где вопрос?

И кстати зачем кодировать индекс? Это и так код.
Просьба подсказать правильный запрос, я один сделал но не везде верные результаты.
Насчет кодировать индексы, в той таблицы кроме индексов будут еще и координаты хранится, так что нужно.
 
А тебя не смущает, что LIKE c 2мя wildcard (LIKE %234%), стоящими до и после искомой строки будет искаться без использования mysql индексов
 
Запрос в принципе правильный. Надо рабираться в данных, возможно они неверные.

Redjik, человек вообще хоть какого-то результата получить не может, а ты его грузишь. Не стыдно?
 
Не, я заранее по рукам бью, за LIKE '%search_str%'
Я уже наткнулся на тонны статей как на хабре, так и в интернетах, где "это" советуют в качестве альтернативы полнотекстовому поиску...

ЗЫ. к слову запрос упадет с ошибкой
1) ибо если zip INT, то тут понятно
2) если zip VARCHAR, то не хватает ковычек
 
Не развалится база данных, если время от времени ее попросить найти что-либо с LIKE.

Кавычки здесь совершенно пофигу, незвисиомо от типа колонки.
 
Сверху