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



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



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

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


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