2012-11-30 5 views
5

Visual Studio 2010에서 생성하려고하는 테이블에 문제가 있습니다. 내 데이터 소스를 구성하는 SQL 쿼리를 공식화하는 방법을 잘 모르겠습니다.조건에 대한 다중 테이블이있는 SQL 쿼리

기본적으로 두 개의 테이블이 있습니다. 그 중 하나에는 그림 파일 이름이 들어 있으며 두 개의 열, picturefile (PK)username이 있습니다. 두 번째 테이블에는 세 개의 username 열이 있습니다. 첫 번째 열은 사용자 이름을 정의하고, 두 번째 열은 username 관계의 친구를 형성하고 세 번째 열은 RelationshipID입니다.

내 쿼리에서 현재 사용자의 친구가 소유 한 그림 테이블의 모든 그림을 표시하는 테이블을 만들고 싶습니다. 나는 사용할 수있는 @currentuser 매개 변수가 있습니다. 이것은 귀하의 친구 사진 테이블 것입니다.

나는 매우 초보자입니다 마음에 내가 가진 시도, 곰, 이것이다 :

SELECT picturefile, username 
FROM  pictures_table1 
WHERE (username = (SELECT User2 FROM friendslist_table1 WHERE  friendslist_table1.Username1 = @currentuser AND friendslist.Username2 <> @currentuser)) 

그것은 하위 쿼리 대해 여러 개의 값을 반환 할 수 없다는 오류를 제공합니다.

감사합니다.

답변

2

JOIN 기능을 살펴보십시오. 원하는대로 정확하게 수행하십시오.

+0

합니다. 고맙습니다 – user1824836

3
SELECT f.friendname,p.picturefile from pictures_table1 p 
INNER JOIN friendslist_table1 f 
ON p.username = f.username 
WHERE f.username = @currentuser