두 개의 테이블이 있고 그 중 하나에 '요청'이 있고 친구 요청을 보낸 사용자가 있거나 친구 요청을 받았습니다. 두 번째 테이블에서 나는 자신에 대한 명단에 오른 사람들의 기록을 유지합니다. 이제, 나는이 모든 사용자들을 함께 (내가 요청한 사람, 나를 요청한 사람, 내가 선택한 사람) 선택하려고합니다. 나는이에 대한 통합 쿼리를 사용하여 열 유형 문제는 내가도를 오르 경우 서로 다른 사용자 ID를받지 오전다른 값을 가진 열이있을 때 별개의 결과를 얻는 방법
select Distinct userid,type,status from
(
select RequestSenderId as UserId,'requestedme' as type,'1' as status from tblrequest where [email protected]
union
select RequestReceiverId as UserId,'requestedbyme' as type,'2' as status from tblrequest where [email protected]
union
select Shortlisteduserid as UserId,'Shortlisted' as type,'0' as status from tblshortlist where [email protected]
)
에 기초를 differenciate, 그는 또한 나에게 요청을 보낸하고있다.
아무도 결과에서 고유 한 사용자 ID를 얻으려고 제안 할 수 있습니까? 우선권은 shortlisted보다는 오히려 요구 한대로 userid를 얻기위한 것이다.
UNION ALL을 사용해 보셨습니까? –
예. 동일한 결과를 제공합니다 – nav
정확히 무엇이 문제입니까? 특정 사용자 ID가 최종 결과 집합에 두 번 나타나고 한 번만 원한다는 것입니까? –