Добрый день, почитал различные примеры и не смог разобраться.
У меня есть одна таблица, например такая:
product_values
product_id | name | values
-------------------------------------------------------------------------------
1 | Product One | soft touch plastic, big screen
2 | Product Two | small screen, metal
3 | Product Three | plastic, 5" screen, 4G
И есть другая, где один товар может быть расположен на нескольких строках (на самом деле это представление из нескольких таблиц, но не суть):
product_full
product_id | category_name | color | other_values
--------------------------------------------------------------------------------
1 | phone | black | exclusive, vip, gold
1 | mobile | red | exclusive, vip, silver
1 | telecom | gold | vip, gold, powerfull
2 | phone | black | dark,cheap, etc.
2 | telecom | red | for girls, vip, exclusive
По первой таблице я ищу товары, подходящие по запросу, а во второй таблице структурированные данные для вывода во фронтенд. Каким образом я могу искать подходящие product_id в первой таблице, а потом эти id выбирать во второй? Мне кажется если я буду получать айди товара и потом запрашивать их в mysql , то это будет очень кривым решением.
P. S. Нужен поиск только по первой таблице, по второй искать не надо. Только выцепить данные по product_id
P. S. Кажется нашел решение , но меня оно не устраивает - слишком много дублирующихся полей нужно будет создавать, а так же выбирать много полей при поиске:
sql_query = SELECT product_values.name, product_values.values, \
product_full.category_name, product_full.color, product_full.other_values \
FROM product_values \
INNER JOIN product_full ON (product_full.product_id=product_values.product_id);
А при поиске указывать ... MATCH('@name Product @values screen')
Учитывая, что полей в таблицах много и они иногда дублируются, то как-то избыточно выглядит, хотя вполне рабочий вариант