2013-08-30 1 views
1

구조 :MySQL에서 가장 낮은 PK를 가진 두 번째 tbl에서 2 tbls를 선택하지만 1 행만 선택하는 방법은 무엇입니까?

TBL 1

|car_id(PK)| make | model | year | 
----------------------------------- 
|  1 | Toyot | Camry | 1999 | 
|  2 | Honda | Civic | 2005 | 

TBL 2

|img_id(PK)| car_id| img_link | 
------------------------------------ 
|  1 | 1 | tcamry1.jpeg | 
|  2 | 1 | tcamry2.jpeg | 
|  3 | 1 | tcamry3.jpeg | 
|  4 | 2 | hcivic1.jpeg | 
|  5 | 2 | hcivic2.jpeg | 

내 쿼리 :

SELECT * 
FROM cars c 
LEFT JOIN imgs g 
ON c.car_id=g.car_id 
WHERE 1 

결과 :

|img_id(PK)| car_id| make | model | year | img_link | 
----------------------------------------------------------- 
|  1 | 1 | Toyot | Camry | 1999 | tcamry1.jpeg | 
|  2 | 1 | Toyot | Camry | 1999 | tcamry2.jpeg | 
|  3 | 1 | Toyot | Camry | 1999 | tcamry3.jpeg | 
|  4 | 2 | Honda | Civic | 2005 | hcivic1.jpeg | 
|  5 | 2 | Honda | Civic | 2005 | hcivic2.jpeg | 

각 자동차에 대해 1 행을 가져와 WHERE 절에 동일한 자동차와 관련된 모든 img_id 중에서 가장 낮은 img_id 값과 같은 값을 지정해야합니다.

결과는 내가 원하는 :

|img_id(PK)| car_id| make | model | year | img_link | 
----------------------------------------------------------- 
|  1 | 1 | Toyot | Camry | 1999 | tcamry1.jpeg | 
|  4 | 2 | Honda | Civic | 2005 | hcivic1.jpeg | 

감사합니다.

UPDATE :

나는이 라인을 따라 뭔가가 필요 : -/

SELECT g.id, c.car_id, c.mc_make, c.mc_model, c.mc_year, c.mc_desc 
FROM mycars c 
INNER JOIN (SELECT * FROM mycars_gallery g WHERE) 
ON c.car_id=g.car_id 
WHERE g.id = min(g.id) 
+0

필자는 min() 함수를 살펴볼 필요가 있다고 생각합니다. 위의 업데이트를 참조하십시오. 난 그냥 올바른 구문을 모르겠다 – Tatarin

답변

2

시도 :

SELECT MIN(b.img_id), a.car_id, a.make, a.model, a.year, b.img_link 
FROM cars a 
LEFT JOIN imgs b ON a.car_id = b.car_id 
GROUP BY a.car_id, a.make, a.model, a.year ; 

데모 :이 도움이 http://sqlfiddle.com/#!2/1469f/15 희망.

+0

고마워, 작동! – Tatarin

0
SELECT * 
FROM cars c 
LEFT JOIN imgs g 
ON c.car_id=g.car_id 
WHERE 1 
GROUP BY g.img_link; 

이 시도를 ..하지만 확실하지 않다.

+0

여전히, 같은 결과. 작동하지 않았다 – Tatarin

1
SELECT * 
FROM cars c 
LEFT JOIN imgs g 
ON c.car_id=g.car_id 
WHERE img_id IN(SELECT MIN(img_id)) GROUP BY model 
관련 문제