Применить в запросе UNION

(
	SELECT * FROM `indexnews` WHERE MATCH('@title \"cs2\"/0.3') 
)
UNION
(
	SELECT * FROM `indexnews`
)
ORDER BY `time` DESC LIMIT 35

Когда первый запрос дает не 35 записей, а 10 или вовсе пустой.
Возможно применить UNION, второй запрос, но уже просто вывести все записи?
Не выходит, пишет синтетическая ошибка…

у нас не поддерживается синтаксис union и объединить запросы можно только через JOIN

Но я не уверен, что там есть функциональность которой вы хотите добится

{INNER | LEFT} JOIN tbl2_name

Не понимаю, при том что есть.

Они не смогут дополнить запрос по лимиту. Тут всего лишь достают записи в которых есть пересечения из первой и второй таблицы.

А так, чтобы получить 50 записей.
Допустим выполнили запрос, на выходе получили 30 записей. 20 не хватает, необходимо добавить 20 записей к результату. Так чтобы на выходе не получилось дублирования результата из первого запроса.


Быть может, есть вариант. Допустим использовать оператора | (или),
в приоритетном порядке достаем сперва записи по условию '@title \"cs2\"/0.3', если не находим больше записей, переходим к ИЛИ, и достаем просто по порядку.
Но если будем сортировать по time, то все перемешается тогда…

MATCH('@title \"cs2\"/0.3')

Так, вытаскиваем записи, процент схожести у которых от 30%.

MATCH('@title \"cs2\"/0.0')

Вытаскиваем все записи, процент схожести у которых от 0%.

Ок, по умолчанию как выбирает записи?

Указали процент 0%, есть записи, схожесть заголовков которых более 50%.
Они будут в приоритете?

Если сортировать по id, те записи у которых схожесть более заданной. Они всегда будут на верху, игнорируя сортировку?


Не работает,

MATCH('@title \"sdfsdfsdf\"/0.0')

Ничего не выбирает…

Кажется, что все возможные варианты перепробовал и не один не работает…

Как вытащить записи, совпадение у которых более 30%, а затем, пустые строчки заполнить строками по возрастанию?

Если совпадений не найдено, просто вытащить записи по возрастанию…