powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск свойств которые есть у всех объектах в наборе данных.
4 сообщений из 4, страница 1 из 1
Поиск свойств которые есть у всех объектах в наборе данных.
    #39978096
Lisichkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Помогите оптимизировать запрос.
Есть но которое свойство,у разных видов объектов. Требуется найти свойства которые присутствуют у всех объектах, в наборе данных:
Я написал следующий запрос - покритекуйте плиз:

Код: 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.
begin tran

select  1 ObjID, 1 PropID
into
	#t
union all select 1 ObjID, 2 PropID
union all select 2 ObjID, 1 PropID
union all select 2 ObjID, 3 PropID
--union all select 3 ObjID, 3 PropID

select
	*
from #t

select
	t1.PropID
from #t	t1
left join #t t2 on t1.ObjID<>t2.ObjID and t1.PropID=t2.PropID
group by 
	t1.PropID
having
	count(t1.PropID) >= (select count(distinct ObjID) from #t)

rollback



Нужно найти все такие PropID, которые встречаются для всех ObjID
...
Рейтинг: 0 / 0
Поиск свойств которые есть у всех объектах в наборе данных.
    #39978107
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Много букв.

Достаточно

Код: sql
1.
2.
3.
4.
5.
6.
select
    t.PropID
from    #t t
group by
    t.PropID
having count (*) = (select count(distinct ObjID) from #t)
...
Рейтинг: 0 / 0
Поиск свойств которые есть у всех объектах в наборе данных.
    #39978176
Lisichkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Есть некоторое сомнение - все это работает когда ObjID+PropID уникально в наборе данных (что действительно так), но если это утверждение будет нарушено - алгоритм перестает работать.
...
Рейтинг: 0 / 0
Поиск свойств которые есть у всех объектах в наборе данных.
    #39978188
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lisichkin
но если это утверждение будет нарушено - алгоритм перестает работать.
Код: sql
1.
having count (distinct ObjID) = (select count(distinct ObjID) from #t)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск свойств которые есть у всех объектах в наборе данных.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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