powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / запрос по параметрам
3 сообщений из 3, страница 1 из 1
запрос по параметрам
    #36580535
нужен оптимальный запрос для такой задачки

есть табличка с параметрами юзеров

UsersParams
--------------------------
UserID, ParamID
1 2
1 3
2 2

и табличка с параметрами юзеров для поиска

UsersSearchParams
--------------------------
UserID, ParamID
1 2
2 2
3 1

для определенного юзера нужно найти всех юзеров из
противоположной таблички у которых присутствуют все теже параметры
что и у него

типа
Select Distinct UserID From UsersParams Where ParamID IN (2,3,5)

но нужно чтобы все параметры были обязательно
...
Рейтинг: 0 / 0
запрос по параметрам
    #36586909
kink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Набросал на вскидку (проверить возможности сейчас нет):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Select up.UserID
From UsersSearchParams usp
      ,UsersParams up
Where  1 = 1 
and up.ParamID = usp.ParamID
and usp.UserID =  394893 
group by up.UserID
having count(distinct up.ParamID) = (select count(distinct usp.ParamID)
                                                  from UsersSearchParams
                                                  where usp.UserID =  394893 ) 

Вроде особо тормозить не должно.
...
Рейтинг: 0 / 0
запрос по параметрам
    #36588876
спасибо, нормально работает, наверно это самое оптимальное в таком случае
кличество параметров я могу знать заранее так что даже короче выходит
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / запрос по параметрам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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