2010-06-21 5 views
0

별도의 테이블에서 필드 이름을 선택하고 싶지만 한 번만 할 수 있습니다. Cname1은 작동하지만 Cname2는 작동하지 않습니다. 문제는 m.categoryChildID2 고유 한 categoryChild 이름을 원하지만 이것이 참조하는 방법을 알고있는 유일한 방법은 c.categoryChild를 사용하는 것입니다. 그러나 이미 m.categoryChildID1과 함께 사용 중입니다.쿼리에서 고유 한 값을 선택할 수 없습니다.

테이블을 다시 실행할 수 있음을 알고 있지만 이것이 가능하면 좋지 않은가요?

select c.categoryChild as cname1,c.categoryChild as cname2 
    FROM categoryChild as c, members as m 
WHERE m.memberID=50 
    AND m.categoryChildID1=4 
    AND m.categoryChildID1=c.categoryChildID 
    AND m.categoryChildID2=5 m.categoryChildID2=c.categoryChildID 

감사 브라이언

+1

당신이 원하는 그러나 당신이 당신의 쿼리에 'DISTINCT (발을)'를 추가 할 수 있는지 확실하지. – Kyra

+0

다른 테이블의 ID를 저장하는 두 개의 필드가 있는데 문제는 첫 번째 테이블에 유일한 값만 가져올 수 있다는 것입니다. 두 테이블의 조인입니다. 두 번째 테이블을 고유하게 만드는 방법을 모르겠습니다. 별칭을 사용해 보았지만 작동하지 않습니다. –

답변

1

categoryChild 테이블에 참여하기를 두 번

SELECT c1.categoryChild as cname1,c2.categoryChild as cname2 
FROM members AS m, 
JOIN categoryChild AS c1 ON(m.categoryChildID1 = c1.categoryChildID) 
JOIN categoryChild AS c2 ON(m.categoryChildID2 = c2.categoryChildID) 
WHERE m.memberID=50 
+0

감사합니다. –

관련 문제