У меня возникли проблемы со следующим запросом. Для подзапроса, возвращающего сумму итоговых результатов, я получаю сообщение об ошибке Неизвестный столбец 'search.term' в 'where clause', я не уверен, как я смогу сделать этот запрос правильно? Любая помощь приветствуется.Как получить доступ к столбцу в подзапросе?
SELECT *,
(SELECT SUM(totalResults)
FROM (SELECT COUNT(*) as totalResults
FROM media
LEFT JOIN users ON users.id = media.userId
WHERE media.title LIKE CONCAT('%', search.term, '%')
OR media.description LIKE CONCAT('%', search.term, '%')
OR media.tags LIKE CONCAT('%', search.term, '%')
OR users.username LIKE search.term
UNION ALL
SELECT COUNT(*)
FROM reposts
LEFT JOIN media ON media.id = reposts.mediaId
LEFT JOIN users ON users.id = reposts.userId
WHERE media.title LIKE CONCAT('%', search.term, '%')
OR media.description LIKE CONCAT('%', search.term, '%')
OR media.tags LIKE CONCAT('%', search.term, '%')
OR users.username LIKE search.term
)
t) AS totalResults,
MAX(search.timestamp) AS searchTimestamp
FROM search
WHERE userId = '1'
GROUP BY search.term
ORDER BY searchTimestamp DESC
Насколько велики подсчеты? –
Их сумма равна 9 (8, 1), это фактически реализация последнего запроса, на который вы ответили. –
Есть ли столбец, называемый термином в таблице поиска? –