Извлечение элемента путем проверки двух таблиц сопоставления для пользователя и команды - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть таблица элементов, которая сопоставляется нескольким пользователям непосредственно с элементом и некоторым пользователям посредством группового отображения. в настоящее время я использую внутренний запрос, как показано ниже

SELECT * 
FROM teams 
WHERE itemId IN (
    SELECT itemId 
    FROM userItemMapping 
    WHERE userId = 1
) 
OR itemId IN (
    SELECT itemId 
    FROM teamItemMapping 
    WHERE teamId IN (
        SELECT TeamId 
        FROM userTeamMapping 
        WHERE userId = 1
    )
)

Я использую gorm с go для кодирования и использовал необработанный запрос для выполнения этого, есть ли лучший способ выполнить этот запрос или я могу улучшить это, внеся любые изменения в мою БД.

enter image description here

Как я могу использовать gorm для реализации '' 'где в' '', чтобы избегать использования raw ()

...