Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS Sql Server 2008 r2 Help my! / 5 сообщений из 5, страница 1 из 1
18.10.2018, 07:52
    #39719174
k4sk4d
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Sql Server 2008 r2 Help my!
Всм привет! Ребятя помогите новичку!
Есть две таблицы List и Spisok, в первой в поле FIO ФИО указаны полностью а во второй только фамилия и инициалы. Как выполнить поиск совподений только по фамилиям?
Написал следующий запрос но он ищет только полное совпадение, а нужно по фамилии
Select *
From List LEFT JOIN Spisok ON
WHERE List.FIO LIKE Spisok.FIO
...
Рейтинг: 0 / 0
18.10.2018, 07:54
    #39719177
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Sql Server 2008 r2 Help my!
k4sk4dВсм привет! Ребятя помогите новичку!
Есть две таблицы List и Spisok, в первой в поле FIO ФИО указаны полностью а во второй только фамилия и инициалы. Как выполнить поиск совподений только по фамилиям?
Написал следующий запрос но он ищет только полное совпадение, а нужно по фамилии
Код: sql
1.
2.
3.
Select *
From List LEFT JOIN Spisok ON 
WHERE List.FIO LIKE Spisok.FIO



данный запрос вряд ли найдет что то кроме синтаксической ошибки
а по теме - отрезайте фамилию(например, до первого пробела), а потом уже лайкайте
и не забудьте про %
...
Рейтинг: 0 / 0
18.10.2018, 08:27
    #39719183
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Sql Server 2008 r2 Help my!
Попробуй так
Код: sql
1.
2.
select * from List, Spisok
    where List.FIO like LEFT(Spisok.FIO, CHARINDEX(' ', Spisok.FIO)) + '%'



Но учти что однозначного решения эта задача не имеет, поэтому однофамильцы продублируются всеми возможными комбинациями. Например два Иванова будут 4-мя записями.
...
Рейтинг: 0 / 0
18.10.2018, 08:47
    #39719186
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Sql Server 2008 r2 Help my!
Правильно - преобразовать полное ФИО в вариант с инициалами, а потом сравнивать - и именно сравнивать, а не лайкать, причём приведя всё к одному регистру (впрочем, зависит от collation). Но и в этом случае непременно будут ложные срабатывания.

Модератор: Тема перенесена из форума "Вопрос-Ответ".
...
Рейтинг: 0 / 0
18.10.2018, 18:20
    #39719549
k4sk4d
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Sql Server 2008 r2 Help my!
Dima T, спасибо большое, этого достаточно. Я ещё пробавыл сначала брать по 5-8 символов и их сравнивать, но это сложнее. Ещё раз спасибо, вы помогли.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS Sql Server 2008 r2 Help my! / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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