Я использую следующий запрос для фильтрации и оценки результатов, которые назначены определенным категориям, которые работают совершенно прямо сейчас. Однако, если я попытаюсь сделать еще одно соединение, чтобы иметь возможность учитывать совпадение тегов с результатом, я столкнулся с проблемой, когда возвращается много результатов, которые не относятся к 3 категориям.Несколько соединений mysql, вызывающих проблему с запросом
Вот рабочий запрос ...
SELECT DISTINCT results.*,
(
3*(MATCH(body) AGAINST('*' IN BOOLEAN MODE)) +
5*(MATCH(title) AGAINST('*' IN BOOLEAN MODE)) +
1*usefulness +
30*(MATCH(body) AGAINST('""' IN BOOLEAN MODE)) +
20*(MATCH(title) AGAINST('""' IN BOOLEAN MODE)) +
5*shares
) AS score
FROM results
INNER JOIN categories c on results.ID = c.RESULT_ID
WHERE c.name in ('refinance', 'condo', 'usda')
AND (results.scope = 'all' OR results.scope = 'hi')
AND published = 1
GROUP BY results.ID
HAVING COUNT(c.c_ID) = 3
ORDER BY score DESC
LIMIT 8 OFFSET 0
Добавление следующей строки ниже категорий результатов, это то, что мне дает неполадок
INNER JOIN tags ON results.id = tags.result_id
Это как если следующая строка перестает работать, когда я добавляю 2-е звено
HAVING COUNT(c.c_ID) = 3
Я в затруднении здесь, и любая помощь будет очень благодарна iated!
Thankyou так много! Это сводило меня с ума –