powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение таблицы самой с собой. Проблема написать запрос
8 сообщений из 8, страница 1 из 1
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737415
Sandycorp2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, уважаемые форумчане!
Прошу помощи в следующем вопросе:
необходимо найти все записи у которых есть вышестоящий ([UPPER_ID]) и проверить у смежных записей (смежные по [NUMBER], например запись 120-121 и 121-122 смежные) являются ли они равными @pe1 и/или @pe2. Если такие есть, то вывести [NAME] вышестоящего для них

Входные данные:
@pe1='110'
@pe2='220'

Таблица
ID | NAME | KOD | ON | NUMBER | UPPER_ID
120 | Str1 | 110 | Null | 1 | 123
121 | Str2 | 200 | Null | 2 | 123
122 | Str3 | 220 | Null | 3 | 123
123 | Str2 | 110 | ON | Null | Null

Результат
Str2

Также буду благодарен на ссылки, которые могут помочь в решении данной задачи.
Спасибо
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737420
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandycorp2010,

cм. функции Lead\Lag
и/или джойн таблицы самой с собой ID= ID-1
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737422
Sandycorp2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StarikNavy,
к сожалению ID=ID-1 не получится. Там они редко будут подряд. Скорее всего хаотично пронумерованы.
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737456
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandycorp2010,
если LEAD/LAG сервер не умеет - ROW_NUMBER()
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737457
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

и self join
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737462
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandycorp2010StarikNavy,
к сожалению ID=ID-1 не получится. Там они редко будут подряд. Скорее всего хаотично пронумерованы.

Ну так найдите способ пронумеровать записи.
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39737636
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandycorp2010 Скорее всего хаотично пронумерованы.
тогда выбирайте хаотично вышестоящий
смайлик
...
Рейтинг: 0 / 0
Сравнение таблицы самой с собой. Проблема написать запрос
    #39755523
Rigersong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT [NAME]
FROM (
	SELECT *
		, rn = LAG(UPPER_ID) OVER(ORDER BY ID)
	FROM @t
	WHERE KOD <> @pe1 AND KOD <> @pe2
) t
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение таблицы самой с собой. Проблема написать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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