의 가입 :내부 표 승인자에서 3 표
No Userid
1 3
2 7
표 사용자에서 :
No UserID RoleID
1 3 1
2 4 1
3 5 2
4 7 3
표 역할
RoleID Name
1 ABC
2 BCD
3 CDE
나는 테이블 승인 등의 사용자의 rolename을 선택합니다 :
Userid Name
3 ABC
7 CDE
의 가입 :내부 표 승인자에서 3 표
No Userid
1 3
2 7
표 사용자에서 :
No UserID RoleID
1 3 1
2 4 1
3 5 2
4 7 3
표 역할
RoleID Name
1 ABC
2 BCD
3 CDE
나는 테이블 승인 등의 사용자의 rolename을 선택합니다 :
Userid Name
3 ABC
7 CDE
approver.no가 사용자와 승인자 테이블에 왜 나는 확실히 100 % 아니에요 .... 내가 userId를 고유 가정거야 그런 경우가 아닌 경우
select
u.userid,
r.name
from
Approver as a
inner join [Users] as u on a.userId = u.UserId
inner join [Roles] as r on u.roleId = r.roleId
을 당신은 approver.no user.UserI 필요합니다 경우 이잖아 경우 두 상황에서 .....이 작업을해야합니다 두 번째 쿼리는 단일 결과에 대한을 반환 http://sqlfiddle.com/#!3/0daa9/4
주의 사항 : 지금까지 결과 집합 문제는 여기에서 찾을 수 있습니다이 두 사이
select
u.userid,
r.name
from
Approver as a
inner join [Users] as u on a.userId = u.UserId
and a.No = u.No
inner join [Roles] as r on u.roleId = r.roleId
의 차이 : 다음과 같은 일을해야보다 D 콤보은 고유해야합니다 제공된 데이터
SELECT U.UserID,
Name
FROM Approver A
JOIN Users U
ON A.UserId = U.UserId
JOIN Roles R
ON R.RoleId = U.RoleId
select
a.Userid,
r.Name
from
Approver a
join Users u on a.no = u.no
join Roles r on u.RoleID = r.RoleID
SELECT Approver.UserId, Name from Approver INNER JOIN Users
on Approver.No=Users.No
INNER JOIN Roles
on Users.RoleID=Roles.RoleID
지금까지 무엇을 시도했으며 솔루션에 어떤 문제가 있습니까? – Pred