172 похожих чатов

Всем привет! Прошу помочь с запросом. Есть несколько таблиц, assets, originators,

assets_originators, users, users_originators и data_here.
Юзер ассоциируется с оригинатором.
Ассеты тоже с оригинаторами.

На входе я имею user_id, дату (date) и asset_id. Мне нужно сначала зайти в таблицу users_originators, и посмотреть, к каким оригинаторам имеет доступ пользователь.
Потом я иду в таблицу assets_originator и смотрю по asset_id, к какому оригинатору этот ассет относится.
И только потом иду в таблицу data_here, где подсталяю asset_id и список id оригинаторов.
Реализовал в виде вложенных запросов, но кажется, что можно как-то проще.
https://dbfiddle.uk/?rdbms=postgres_11&fiddle=11cd21df2d776e4a2bb486abb6761e1b

6 ответов

11 просмотров

Непонятно, что нужно получить. Если несколько результатов разной структуры, то нужно несколько запросов. Кстати: IN ( SELECT DISTINCT(_uo.originator_id) ... Аж два дефекта в таком коротком коде. ;)

Me👀- Автор вопроса
Yaroslav Schekin
Непонятно, что нужно получить. Если несколько резу...

Нужно из таблицы data_here получить данные, имея asset_id, user_id и date. Но предварительно надо понять, к каким originator_id имеет доступ user_id. Для этого я и бегаю по таблицам ) Два запроса я сделал просто для примера. Типа два варианта моих) (оставил один)

Me👀- Автор вопроса
Yaroslav Schekin
Непонятно, что нужно получить. Если несколько резу...

Например, У юзера есть доступ к оригинатору 1, но в таблице assets_originators запрашиваемый ассет с тим оригинатором не связан - то значит его показывать не надо.

Me👀
Нужно из таблицы data_here получить данные, имея a...

Казалось бы, JOIN / EXISTS, как обычно, зачем тут несколько запросов?

Me👀- Автор вопроса
Me👀- Автор вопроса
Yaroslav Schekin
Казалось бы, JOIN / EXISTS, как обычно, зачем тут ...

Запрос у меня как бы 1, только с подзапросами)

Похожие вопросы

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Добрый день. Опять снова хочу обратиться к вам за помощью. После создания проэкта stack new, lazy.nvim + nvim-lspconfig/haskell-tools + hlint, ormolu из mason + hls из ghcup ...
Nannk
8
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта