powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Телефон и клиенты. Группировка
10 сообщений из 10, страница 1 из 1
Телефон и клиенты. Группировка
    #39693534
kolya_tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Представим что у нас есть клиенты и их телефоны в одной таблице и есть еще дата добавления номера .
Так вот у номеров есть много клиентов.
Если клиент имеет больше 1 клиента то нужно вывести того клиента, который был последним(то есть добавлен позже всех).
Помогите решить проблему уже какой день не могу сделать.
Можно написать в процедуре, но лучше запросом.
Думаю нужно как то сгруппировать, но у меня ничего не получается.
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693537
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolya_tyurin,

авторЕсли клиент имеет больше 1 клиента то нужно вывести того клиента, который был последним
оргия какая-то.

Описывайте целиком с объектами и типами полей.
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693538
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKkolya_tyurin,

авторЕсли клиент имеет больше 1 клиента то нужно вывести того клиента, который был последним
оргия какая-то.

Описывайте целиком с объектами и типами полей.

клиент моего клиента - не мой клиент
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693540
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolya_tyurin,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Select a.Клиент,
b.Телефон
From Клиенты a
Outer apply (
Select top 1 Телефон 
From Телефоны 
Where a.Клиент = Клиент
Order by ДатаДобавления desc
) b
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693543
kolya_tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, ну я тут недавно, не знаю как красиво нарисовать. Но выглядит примерно так
Телефон Id_client
9043434434 123456 2018-08-20
9043434434 123457 2018-08-23
9043434434 123458 2018-08-21
И вот как вывести клиента "123457"
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693545
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле последнего по дате? FIRST(Client) OVER (PARTITION BY PhoneNum ORDER BY Date DESC)
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693549
kolya_tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kopelly, дадаа вот это было мне нужно. Этот оператор OUTER APPLY. Спасибо большое))) наконец-то разберусь)) Спасибо)
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693550
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolya_tyurin,

да хоть OUTER APPLY, TOP 1 WITH TIES, ROW_NUMBER, FIRST_VALUE
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693551
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolya_tyurin,

Получается на одном телефоне несколько клиентов и нужно сопоставить номер только с последним клиентом?
Тогда:
Код: sql
1.
2.
3.
4.
Select * From (
Select *, row_number() over (Partition by Телефон Order by ДатаДобавления desc) as RN
From ТаблицаТелефонов)
Where RN = 1
...
Рейтинг: 0 / 0
Телефон и клиенты. Группировка
    #39693942
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolya_tyurin,

задача стара, как мир, но раз в неделю регулярно возникает вопрос как её решить....
может уже кто оформит в виде статьи для Ф.А.К.а, чтобы не искать каждый раз топик с ответом по форуму...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Телефон и клиенты. Группировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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