powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка фильтрации
5 сообщений из 5, страница 1 из 1
Ошибка фильтрации
    #39737691
Вершинин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый. Столкнулся с проблемой ,которая сводит с ума.

SELECT * FROM Cameras c WHERE CONTAINS(c.SearchData, '"Зелёный проспект, дом 26*"')
-- 9записей
SELECT * FROM Cameras c WHERE c.AddressId = 8350
--те же 9 записей
SELECT * FROM Cameras WHERE CONTAINS(SearchData, '"Зелёный проспект, дом 26*"') AND AddressId = 8350
--0 записей!!!

SELECT * FROM (
SELECT *
FROM Cameras c WHERE CONTAINS(c.SearchData, '"Зелёный проспект, дом 26*"')
) c1 WHERE c1.AddressId = 8350
--0 записей

SELECT c.ID, c1.Id, c.AddressId, c1.AddressId
FROM Cameras c
LEFT JOIN Cameras c1 ON c.Id = c1.Id AND c1.AddressId = 8350
WHERE CONTAINS(c.SearchData, '"Зелёный проспект, дом 26*"')
-- 9 записей, ВСЕ поля заполнены

SELECT c.ID, c1.Id, c.AddressId, c1.AddressId
FROM Cameras c
LEFT JOIN Cameras c1 ON c.Id = c1.Id AND c1.AddressId = 8350
WHERE CONTAINS(c.SearchData, '"Зелёный проспект, дом 26*"')
AND c1.Id IS NOT NULL
--0 записей

Совсем уж извращение:

SELECT * FROM (
SELECT c.ID as id1, c1.Id as id2--, c.AddressId, c1.AddressId
FROM Cameras c
LEFT JOIN Cameras c1 ON c.Id = c1.Id AND c1.AddressId = 8350 AND c1.Id IS NOT NULL
WHERE CONTAINS(c.SearchData, '"Зелёный проспект, дом 26*"')
) t WHERE id2 IS NOT NULL

Внутренний запрос - озвучивался выше, выдаёт 9 записей, все значения - не NULL
Внешний опять выдаёт 0 записей
Кто-то сталкивался? Есть какие-то решения? LIKE не подходит по быстродействию.

Спасибо за внимание! )
...
Рейтинг: 0 / 0
Ошибка фильтрации
    #39737705
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вершинин,

Как вариант такое бывает когнда с индексом беда. Если допустимо - перестройте или попробуйте для проверки запрос


Код: sql
1.
SELECT * FROM Cameras WITH (INDEX(0)) WHERE CONTAINS(SearchData, '"Зелёный проспект, дом 26*"') AND AddressId = 8350



Это кстати, не представление?
...
Рейтинг: 0 / 0
Ошибка фильтрации
    #39737710
Вершинин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, Это не представление. Ваш запрос выдал 0 строк.
Индекс попробую перестроить ночью - база боевая. Натолкнули на мысль, кстати, на тестовой проверить. ))
...
Рейтинг: 0 / 0
Ошибка фильтрации
    #39737712
Вершинин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, на тестовой результат нормальный. Везде 9 строк о_О

Проблема возникает только на бою и когда фильтрация двойная...
...
Рейтинг: 0 / 0
Ошибка фильтрации
    #39737824
Вершинин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, спасибо за наводку.
Помог ребилд с отключением диакретических знаков

ALTER FULLTEXT CATALOG AddressCatalog
REBUILD WITH ACCENT_SENSITIVITY=OFF;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка фильтрации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]