2012-08-06 3 views
1

SQL Server 2008을 사용하여 테이블 c1에서 테이블 1과 테이블 2간에 왼쪽 조인을 시도하고 있습니다.한 줄만 반환하도록 SQL Left Join을 얻으려면 어떻게해야합니까?

왼쪽 테이블 (표 1)에서 각 행을 가져옵니다. 오른쪽 (표 2)에서 나는 단지 하나의 값을 얻습니다.

Table 1  
-------------------- 
document   varchar(30) 

Table 2  
-------------------- 
idTable2   int(30) 
document   varchar(30) 

Sample data TABLE 1 
-------------------- 
3846922 
2000762 
3064627 

Sample data TABLE 2 
-------------------- 
1   3846922 
2   2000762 
3   3064627 
4   2000762 
5   3846922 

Sample Result 
-------------------- 
3846922  1 
2000762  2 
3064627  3 

나는 가이드로 this 게시물을 사용하지만, 원하는 결과에 매우 가져올 수 없습니다. 지금까지는 왼쪽 테이블과 오른쪽 테이블의 많은 값을 얻었습니다. 어떤 아이디어? 는 IS 다음 내 SQL 쿼리 :

SELECT t1.document, t2.idTable2 
FROM Table1 t1 
LEFT JOIN Table2 t2 
ON t1.document = 
(
    SELECT TOP 1 t2_aux.document 
    FROM Table2 t2_aux 
    WHERE t2_aux.document = t1.document 
    ORDER BY t2_aux.document DESC 
) 
+0

당신이 몇 가지 예제 데이터를 표시 할 수 있습니까? –

답변

1
DECLARE @t1 TABLE(document varchar(30)) 

INSERT INTO @t1 
VALUES('3846922'),('2000762'),('3064627') 

DECLARE @t2 TABLE(idTable2 int,document varchar(30)) 
INSERT INTO @t2 
VALUES(1,'3846922'), 
(2,'2000762'), 
(3,'3064627'), 
(4,'2000762'), 
(5,'3846922 ') 

select t1.document,min(t2.idTable2) as idTable2 from @t1 t1 inner join @t2 t2 
on t1.document = t2.document 
group by t1.document 
order by idTable2 
+0

'별개'를 추가 하시겠습니까? 나는 노력했다. .. 그것은 얼다. 나는 잘못된 것을하고 있지만 그게 무엇인지 깨닫지 못합니다. – Soph

+0

@Soph 몇 가지 샘플 데이터를 표시 할 수 있습니까? –

+0

@RGI 방금 추가되었습니다! – Soph

관련 문제