2011-06-12 7 views
0

나는 아주 기본적인 질문을 가지고있다. 그러나 나는 아주 새로운 mysql입니다!mysql join basic question

를 내가 3 개 테이블이 : 여기에 내가 해내해야 할 것입니다

Products, attributes, 나는 제품에 관련된 속성 내가 원하는 대상을 선택하기 만하면 무엇

products_to_attributes 쿼리는 products_to_attributes 테이블을 기반으로합니다.

내 제품 ID = 1이라고 말하면, 단순히 보조하기 위해 PID를 보유하고있는 products_to_attributes 테이블을 기반으로하는 속성 테이블의 모든 행을 가져와야합니다.

답변

1
SELECT a.* 
FROM attributes a 
INNER JOIN products_to_attributes pa ON a.aid = pa.aid 
WHERE pa.pid = 1 
+0

이것은 나 혼란 스럽다. 무엇이, 그리고 파입니까? –

+0

테이블의 별칭으로 매번 전체 tablename을 입력 할 필요가 없습니다. 신텍스는'SELECT a.ID from a AS''이지만'AS'는 생략 할 수 있습니다. – Konerak

+0

:) 완벽하게 작동했습니다. 감사합니다 –

-1
SELECT a.* 
FROM attributes a, products_to_attributes b 
WHERE a.aid = b.aid 
AND b.pid = 1 

는 기본적으로 tofutim와 같은 대답하지만, INNER JOIN 구문을 사용하지 않고.

+0

INNER JOIN 구문은 ANSI-89 스타일보다 선호됩니다. – Konerak

+0

암시적인'where' join을 사용하면 SO에 대한 downvotes를 얻을 수 있습니다. – Johan

+0

http://stackoverflow.com/questions/44917/explicit-vs-implicit-sql-joins 저는 donno입니다. 다소 선호도가 있다고 느낍니다. –