Запрос базы данных по ключевым словам

голоса
0

У меня есть следующие таблицы:

products_match:

atcode  varchar(6)
valcode varchar(100)
id_prod varchar(15)

продукты:

asin varchar(15)
title varchar(155)

Пример содержания products_match таблицы:

atcode='type'
valcode='wifi'
id_prod='1SC52DD'

atcode='type'
valcode='ram'
id_prod='11DD5ER'

Есть несколько kwywords в этой таблице.

Я budilding простой поисковик - Мне нужно , чтобы отобразить продукты , соответствующие множеству критериев, пример:
выберите продукты , где atcode = «тип» AND valcode = «Wi - Fi» И valcode = «бренд» И «valcode» = «Sony»

Необходимо ли применять самостоятельно присоединяется к каждой группе аргументов здесь?

Сейчас у меня есть следующий запрос:

SELECT * FROM products_match a
JOIN products b ON a.id_prod=b.asin
JOIN assortment_match c ON a.id_prod=c.id_prod
WHERE c.atcode='brand' AND c.valcode='sony'
ORDER BY sales_rank ASC LIMIT 0,60

однако он не возвращает продуктов.

Может кто-нибудь помочь мне решить эту проблему?

Редактировать
Мне сказали , что я должен использовать один автообъединение для каждой группы ключевых слов. Как вы думаете?

Задан 22/06/2011 в 18:49
пользователем
На других языках...                            


1 ответов

голоса
0

Одним из способов является то, что для каждого матча, вы могли бы использовать EXISTS подзапрос.

AND EXISTS (select 1 from products_match 
            where id_prod = a.id_prod
            and atcode = 'type' and valcode = 'wifi')
Ответил 22/06/2011 в 18:53
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more