У меня есть три таблицы (примеры здесь). Два с данными и один, представляющий собой соединительную таблицу для обработки отношений «многие:многие».
Пользователи:
ID | UserName
====================
1 | Jeremy Coulson
2 | Someone Else
Репозитории:
ID | RepositoryURI
====================
1 | http://something
2 | http://another
Пользователи репозиториев:
ID | UserID | RepositoryID
==========================
1 | 1 | 1
2 | 2 | 2
Итак, в этом примере пользователь 1 связан с репозиторием 1. Пользователь 2 связан с репозиторием 2. Теперь мне нужно выполнить поиск по Repositories.RepositoryURI
и вернуть Users.UserName
.
У меня есть этот запрос:
select UserName
from RepositoriesUsers
join Users on Users.ID = RepositoriesUsers.UserID
join Repositories on Repositories.RepositoryURI = 'http://another';
Но это возвращает каждую строку в таблице RepositroriesUsers
.
Как я могу сопоставить данные между таблицей соединения с идентификаторами и другими таблицами с удобным для человека текстом?
from Repositories r join RepositoriesUsers ru on r.Id = ru.RepositoryID join Users u on ru.UserId = u.Id where r.RepositoryURI = 'http://another
- person JamieD77   schedule 05.10.2015