Эти запросы одинаковы? Если нет, как сделать более простой запрос - PullRequest
0 голосов
/ 27 июня 2018

Вопрос для начинающих, эти два запроса одинаковы? По некоторым причинам они дают различное количество строк.

=> количество строк ~ 2154

SELECT * 
FROM kliendi_aadress 
WHERE maakond ~'\s\s' 
   OR linn ~'\s\s' 
   OR asula ~'\s\s' 
   OR tanav ~'\s\s' 
   OR maja ~'\s\s' 
   OR korter ~'\s\s' 
   OR postikood ~'\s\s'

=> количество строк ~ 1923

SELECT * 
FROM kliendi_aadress 
WHERE maakond || linn || asula || tanav || maja || korter || postikood ~'\s\s'

Если нет, то как сделать первый запрос более простым и быстрым?

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Возвращает что-то другое, потому что в следующем запросе дважды написано "Tanav"?

0 голосов
/ 27 июня 2018

Запросы могут возвращать разные результаты, потому что простая конкатенация столбцов может добавить дополнительные подстроки из двух пробелов. Вы можете попробовать объединение с разделителем:

SELECT * 
FROM kliendi_aadress 
WHERE concat_ws(',', maakond, linn, asula, tanav, maja, korter, postikood) ~ '\s\s'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...