Почему этот запрос неожиданно не дает результатов при добавлении дополнительных параметров в предложение IN? - PullRequest
0 голосов
/ 10 октября 2019

У меня есть запрос mysql / mariadb:

SELECT COUNT(0)  
FROM my_table
WHERE first_value IN (40908500, 40911700) 
AND second_value IN (21153400001) 
AND third_value IN ('49586')

Таблица очень прямолинейна. first_value - это ключ bigint. second_value также является ключом bigint. third_value - столбец varchar.

Этот запрос возвращает 0, он не обнаружил никаких вхождений. Любопытно, что если я уберу одно из значений в скобках:

SELECT COUNT(0)  
FROM my_table
WHERE first_value IN (40911700) 
AND second_value IN (21153400001) 
AND third_value IN ('49586')

внезапно, я получу ответ 1. Это результат, который я хочу. Любопытно, что это происходит только с небольшим набором запросов, но я видел это раньше. Я не понимаю, как добавление дополнительных значений в предложении «in» должно внезапно лишить законной силы другие совпадения, тем более что оно работает «большую часть времени» с другими значениями.

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