2014-01-17 2 views
0

특정 사용자로부터 모든 주문을 반환하려고하는데 두 테이블, 사람 및 주문이 있고 조인을 사용하면 해당 주문이 반환되지만 각 주문에 대해 반환합니다. 해당 주문의 제곱 양, 예를 들어 두 주문이 동일한 경우 해당 주문 중 4 개를 반환합니다.MySQL 문이 너무 많은 행을 반환 함

SELECT 
    o.* 
FROM 
    orderr o 
    LEFT JOIN person p 
    ON p.personID = o.personID 
WHERE p.first_name = ? 
+0

시도를 시도? 'SELECT DISTINCT o. *'와 같이. 또는'LEFT JOIN '이기 때문에'NULL' 행을 제거해야합니다 :'WHERE p.first_name is not NULL'? –

+0

귀하의 질의가 작동해야합니다. 간단한 예제를 보려면 다음을 참조하십시오 : http://sqlfiddle.com/#!2/6e4b7/2/0. 귀하의 데이터에 문제가 있습니다. – Aioros

답변

0

는`DISTINCT`를 추가이

SELECT DISTINCT 
     o.* 
    FROM 
     orderr o 
     LEFT JOIN person p 
     ON p.personID = o.personID 
    WHERE p.first_name = ? 
관련 문제