Есть ОКВЭД в количестве ~2700 ед. , и ОГРОМНАЯ куча ИНН (в будущем) .
Каждый ИНН может иметь от 1 до N оквэдов.
Поиск будет по группе окведов.
У меня пока идеи лучше этой нет . Учитывая что пока данных мало
CREATE TABLE IF NOT EXISTS `data_okved_inn` (Но тут будет просто нереальное количество строк со временем, и будут тормоза.
`id` int(1) NOT NULL AUTO_INCREMENT,
`company_id` int(1) NOT NULL,
`okved_cod` char(8) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `company_id` (`company_id`,`okved_cod`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
ну и простой запрос на выборку
SELECTПримеры ОКВЭДОВ: '05.20.1', '10.71.1', '26.70.4'
`inn`, `name`
FROM
`company`
WHERE
`id` IN (
SELECT
`company_id`
FROM
`data_okved_inn`
WHERE
`okved_cod` IN ( /* тут список оквэдов */ )
GROUP BY
`company_id`
)