Откат, если в SQL не найдено ни одной строки - PullRequest
0 голосов
/ 18 октября 2018

Есть ли способ с Sqlite (я использую здесь модуль spellfix, но этот вопрос является общим), чтобы:

SELECT word FROM myindextable WHERE word MATCH "hsqfkjsfq" AND top=1

возвращало соответствующее слово, если оно существует, и возвращаеторигинальное слово"hsqfkjsfq", если оно не существует?

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Если вы не хотите возвращать более одной строки из исходного запроса, вы можете использовать составной запрос , чтобы добавить еще одну строку, которая является первой строкой, если совпадение не найдено:

SELECT word FROM myindextable WHERE word MATCH 'hsqfkjsfq' AND top=1
UNION ALL
SELECT 'hsqfkjsfq'
LIMIT 1;
0 голосов
/ 18 октября 2018

Если вы ожидаете ровно одну строку, вы можете использовать агрегацию:

SELECT COALESCE(MAX(word), 'hsqfkjsfq')
FROM myindextable
WHERE word MATCH 'hsqfkjsfq' AND top = 1;

Я думаю, что ваше состояние упрощено.Без подстановочных знаков это эквивалентно:

select 'hsqfkjsfq';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...