powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод данных (имя фамилия/фамилия имя)
8 сообщений из 8, страница 1 из 1
Вывод данных (имя фамилия/фамилия имя)
    #40086570
maay123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, надо вывести такую запись которая соответствует (имя фамилия/фамилия имя)
Например пользователь при регистрации перепутал поля и в базе оказались такие записи как Davolio Nancy и Nancy Davolio
так вот надо из n-записей количества вывести такую запись как Davolio Nancy=Nancy Davolio и тд
(( На скрине 100 записей и там такая 1 запись которая этому соответствует. Как ее вывести )) Cursor и переменные использовать нельзя
Чтоб посмотреть все существующие варианты я посмотрел вот так
Код: sql
1.
2.
SELECT	e1.FullName,e2.FullName
FROM	Employes e1 CROSS JOIN Employes e2



С уважением Владимир!
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086581
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опишите алгоритм разбиения FullName на имя и фамилию.
В вашем примере это пробел (в общем случае это не так линейно - надо чтобы был один и только один пробел)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
declare @fullname varchar(50)='first next'
declare @f varchar(50)
declare @l varchar(50)

set @f=left(@fullname,charindex(' ',@fullname)-(1))
set @l=right(@fullname,len(@fullname)-charindex(' ',@fullname))
print @f
print @l


Затем накладывайте ваш фильтр e1.FirstName=e2.LastName and e1.LastName=e2.FirstName
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086582
maay123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,спасибо буду рад и другим пользователям их ответу решениям данной задачки
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086585
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maay123,

Начните изучение вопроса с форм нормализации данных. Жизнь покажется прекрасней.
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086683
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maay123,

вы оперируете с неатомарными данными, что РСУБД это недопустимо. Приведите ФИО к первой нормальной форме и работайте. Это не Excel.
Если приложение написано кое как, то здесь ничем не поможешь, только переписывать.
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086687
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по скрину, у вас уже есть разбиение на First и LastName в таблице :)
по задаче... ну, простейший вариант типа
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with #t1 as (
SELECT	FirstName+' '+LastName as FullName
FROM	Employees
),
#t2 as (
SELECT	LastName+' '+FirstName as FullName
FROM	Employees
)
select t1.FullName +'=' +t2.FullName as eq
from #t1 t1 
join #t2 t2 on left(t1.FullName, charindex(' ', t1.FullName)-1)  = right(t2.FullName, charindex(' ', reverse(t2.FullName))-1)
and left(t2.FullName, charindex(' ', t2.FullName)-1)  = right(t1.FullName, charindex(' ', reverse(t1.FullName))-1)
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086688
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

на самом деле, таких случаев полным-полно.
Например, анализировать "назначение платежа" для разового отчета проверяющих.
просто невыгодно по трудозатратам
...
Рейтинг: 0 / 0
Вывод данных (имя фамилия/фамилия имя)
    #40086697
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
godsql,

не совсем так, назначение платежа, в общем случае, это атомарное значение, ФИО однозначно - нет. В некоторых системах требуется разбор назначения, в этом случае разбирать лучше до записи данных в базу, а загрузчике.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод данных (имя фамилия/фамилия имя)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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