С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
74 / 6 / 0
Регистрация: 24.01.2020
Сообщений: 159

Сложный запрос

13.03.2020, 06:26. Показов 460. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не получается реализовать запрос.
По идеи я обращаюсь к таблице с консолид.лицами, которые являются физ.лицами и юр.лицами. Есть разные комбинации.

сейчас прип запросе выводятся необходимые мне люди, однако надо выбрать только первых. Например, если комбинация юр+физ, то брать юр. Если физ+физ, то просто первого физ и тоже самое с юр+юр.

По идеи у них уникальные objectId, но не получается выбрать первого, допустим из трех.

PostAddrKind - номера вида адреса (почтовый или юридический)
ObjectKindID - показывает кто челок, физ или юр лицо
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SELECT cp.Name, cpm.ObjectID, cpm.ObjectKindID, cpm.ConsolidatedPersonsID, pa.PostAddrKindID, pa.PostIndex,
  ISNULL('г. ' + region.Name, '') +
  ISNULL(', район ' + microdistrict.Name, '') + 
  ISNULL(ISNULL(', ' + LEFT(streetkind.Format, LEN(streetkind.Format) - 3), '') + ' ' + street.Name, '') + 
  ISNULL(', д. ' + pa.House, '') + ISNULL(', строение ' + pa.Building, '') + 
  ISNULL(', корпус ' + pa.Corpus, '') + ISNULL(', кв. ' + pa.Flat, '') + 
  ISNULL(', место расположения: ' + pa.Description, '') AS fullAdress
  FROM SubjectConsolidatedPersons cp
  JOIN SubjectConsolidatedPersonsMembers cpm
  ON cp.OID=cpm.ConsolidatedPersonsID
  JOIN PostAddr pa 
  ON cpm.ObjectID=pa.ObjectID  (Здесь нужно сделать опять SELECT top,
 но я запуталась и то что пишу не срабатывает, а пишу 
" on pa.ObjectID=(SELECT TOP (1) cpm.ObjectID FROM
                         SubjectConsolidatedPersonsMembers cpm)"
 
  AND pa.PostAddrKindID=( SELECT TOP (1) adrKind.OID
                        FROM
                          PostAddr AS adr
                          LEFT OUTER JOIN PostAddrKind AS adrKind
                            ON adr.PostAddrKindID = adrKind.OID
                        WHERE
                          (adr.ObjectID =  cpm.ObjectID )[I][B](здесь тоже нужно будет изменить, но пока не додумалась как)[/B][/I]
                          AND (adr.ObjectKind IN ('000000001852', '000000001850'))
                          AND (adr.CheckAddr = 1
                          OR adr.CheckAddr IS NULL)
                        ORDER BY
                          adrKind.Name )
LEFT OUTER JOIN AddrMicrodistrict AS microdistrict ON pa.MicrodistrictID = microdistrict.OID LEFT OUTER JOIN
     AddrStreet AS street ON pa.StreetID = street.OID LEFT OUTER JOIN
     AddrStreetKind AS streetkind ON street.StreetKindID = streetkind.OID LEFT OUTER JOIN
      AddrRegion region ON pa.RegionID = region.OID
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2020, 06:26
Ответы с готовыми решениями:

Сложный запрос
SELECT * FROM facts WHERE DATE(date) BETWEEN date1 AND date2 Использую вот такой запрос ,но помимо выборки по дате нужно выбирать еще по...

Сложный запрос
Сгруппировать по keyGroup. Если в группе больше одной записи Если в группе есть хоть одна запись у которой isFirst = 1, получить...

Сложный запрос
Всем доброго времени суток. Всех милых дам с 8 марта!:rose: И так у меня БД: Реляционная модель: Нужно получить...

1
5958 / 4534 / 1094
Регистрация: 29.08.2013
Сообщений: 28,139
Записей в блоге: 3
13.03.2020, 09:31
а может тебе пронумеровать строки в пределах 1 лица и там уже выбрать строки с номером 1?

не очень понятно зачем ты эту простыню тут выкладываешь. сделай пример без лишнего кода и спроси что тебе нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2020, 09:31
Помогаю со студенческими работами здесь

Сложный запрос к БД
Есть БД, в ней таблица main с полями ip(адрес абонента),datetime(время запроса),size(размер ответа в байтах). Внимание!!!! Необходимо...

Сложный запрос
Здравствуйте!у меня есть БД: Успеваемость(#Nз, #ИдКурса, #Семестр, #УчНед, #ВидОтчета, Оценка) ОтчетГруппы(#ИдКурса, #Nгр, #УчНед,...

сложный запрос
Есть таблица А: id | date | number, id - int date - datetime number - int, 0, 1 или 2 Необходим запрос в табл А, где...

Сложный запрос
Всем привет! (пример) Есть 3 таблицы:Users, Auto, Motorcycles. (Они связаны через ключевое поле userID.) Мне нужно вывести...

Сложный запрос
Доброго времени суток! Знатоки SQL подскажите пожалуйста как привести в рабочий вид мой запрос: DECLARE @data AS XML, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru