powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос
9 сообщений из 9, страница 1 из 1
Запрос
    #39639824
Diessolve
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста составить запрос. Есть две таблицы (Request, Req_mov) в Request у каждой строки уникальный ИД связанный со второй таблицей(Req_mov), но во второй таблице эти значения не уникальны и могут повторяться множество раз. Как сделать запрос таким образом что бы для каждого уникального ИД выводилась лишь одна строка с данными из(Req_mov). Нужна именно последняя запись для ИД. На данный момент выводит все строки из второй таблицы.
Код: sql
1.
SELECT Request.id, u2.Name AS Пользователь, Type_tb.TypeName AS Тип, Request.Comment AS Комментарий, Priority.PriorityName AS Приоритет, Status_tb.StatusName AS Статус, u1.Name AS Специалист, Request.Room AS Кабинет, Request.Phone AS Телефон FROM Req_mov INNER JOIN Request ON Req_mov.id = Request.id INNER JOIN Priority ON Req_mov.id_priority = Priority.id_priority INNER JOIN Status_tb ON Req_mov.id_status = Status_tb.id_status INNER JOIN Type_tb ON Req_mov.id_type = Type_tb.id_type INNER JOIN Users AS u1 ON Req_mov.id_spec = u1.id_user INNER JOIN Users AS u2 ON Request.id_user = u2.id_user WHERE u1.Name = '" +Program.UserInfo.UserName+ "'"
...
Рейтинг: 0 / 0
Запрос
    #39639858
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Diessolve,

Inner join замени на Cross apply (Select top 1 * From Req_mov Where Request.ID = Req_mov.ID Order by [Порядок сортировки] Desc)
...
Рейтинг: 0 / 0
Запрос
    #39639893
Diessolve
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kopelly,

Что то у меня ничего не получается :с
...
Рейтинг: 0 / 0
Запрос
    #39639899
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DiessolveKopelly,
Что то у меня ничего не получается :с
А это потому что у тебя весь запрос в одну строчку.
Приведу аналогию.

Не секрет что очень сложно прочитать правильно предложение с более чем сотней слов и при этом не содержащего ни одного знака препинания хотя и без орфографических ошибок и уж тем более невозможно читая такой текст уловить уловить смысл с первого прочтения но как говорится сам себе злобный буратино точка
...
Рейтинг: 0 / 0
Запрос
    #39639904
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Diessolve,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT 
Request.id, 
u2.Name AS Пользователь, 
Type_tb.TypeName AS Тип, 
Request.Comment AS Комментарий, 
Priority.PriorityName AS Приоритет, 
Status_tb.StatusName AS Статус, 
u1.Name AS Специалист, 
Request.Room AS Кабинет, 
Request.Phone AS Телефон 
FROM Request 
cross apply (Select top 1 * From Req_mov Where Req_mov.id = Request.id /*Order by  [Добавит критерий последнего и раскомментировать] */) Req_mov
INNER JOIN Priority ON Req_mov.id_priority = Priority.id_priority 
INNER JOIN Status_tb ON Req_mov.id_status = Status_tb.id_status 
INNER JOIN Type_tb ON Req_mov.id_type = Type_tb.id_type 
INNER JOIN Users AS u1 ON Req_mov.id_spec = u1.id_user 
INNER JOIN Users AS u2 ON Request.id_user = u2.id_user 
WHERE u1.Name = '" +Program.UserInfo.UserName+ "'"
...
Рейтинг: 0 / 0
Запрос
    #39639907
Diessolve
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kopelly,

Спасибо, но выводит самую раннюю строку, а не самую последнюю.
...
Рейтинг: 0 / 0
Запрос
    #39639911
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DiessolveKopelly,

Спасибо, но выводит самую раннюю строку, а не самую последнюю.

Чукча не читатель?

Код: sql
1.
/*Order by  [Добавит критерий последнего и раскомментировать] */
...
Рейтинг: 0 / 0
Запрос
    #39639914
Diessolve
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Чукча совсем не опытен в SQL
Тут помог гугл - Order by desc
...
Рейтинг: 0 / 0
Запрос
    #39639916
Diessolve
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kopelly,

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


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