2014-01-17 73 views
0

我试图从一个特定的人返回所有订单,我有两个表,一个人和一个订单,并使用联接,它确实返回人的订单,但是它返回的每个订单该订单的平方数量,例如,如果有两个订单相同,它将返回那些订单中的4个。MySQL声明返回的行太多

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

尝试增加'DISTINCT'?像:'SELECT DISTINCT o。*'。或者,也许你需要删除'NULL'行,因为你是'LEFT JOIN'ing:'WHERE p.first_name IS NOT NULL'? –

+0

您的查询应该可以正常工作,请参阅此小提琴的简单示例:http://sqlfiddle.com/#!2/6e4b7/2/0。我想你的数据有问题。 – Aioros

回答

0

试试这个

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