2012-07-19 2 views
0

속성과 이미지에 대해 두 개의 테이블이 있습니다. id, name 테이블과 같은 열 이름을가집니다. 상위 열은 이미지의 외래 키입니다.mysql에 가입하면 각 기본 키에 대해 단일 레코드를 반환해야합니다.

내가 중복을 제거 할 이상에서

enter image description here

SELECT DISTINCT(A.id),A.name,B.name AS img 
FROM `jos_properties_products` AS A 
LEFT JOIN `jos_properties_images` AS B ON A.id = B.parent 
.

+0

할 것 같아? – sel

+0

예. 중복을 제거하고 싶습니다 – muthu

+1

'GROUP BY 이름'에 – sel

답변

1

이 시도 :

SELECT A.id,A.name,max(B.name) AS img 
FROM `jos_properties_products` AS A 
LEFT JOIN `jos_properties_images` AS B ON A.id = B.parent 
group by A.id,A.name 
+0

내가 왜 max()를 사용해야하는지 알 수 있습니까? – muthu

+0

하나의 id-name 조합과 연결된 B.name이 여러 개 있습니다. 여기에서는 ID 이름 중복을 방지하려고합니다. 따라서 각 id-name에 대해 B.name의 최대 값을 취하십시오. max() 대신 min()을 사용할 수도 있습니다. –

0

(A.id)에 SELECT DISTINCT IDS 같은 LEFT가 ON B AS jos_properties_images 참여함에 jos_properties_products FROM IMG AS A.name aName, B.name A.id = B. 학부모 그룹 (아이디, aName, img);

나는 이것이 당신이 중복 된 이름을 제거 의미

관련 문제