SQL查询不返回足够的行

时间:2014-06-20 20:18:37

标签: mysql sql join

我无法搞清楚这个SQL查询(MySql 5是服务器)。

我的表格如下:

enter image description here

我的查询如下所示:

select 
    tblCustomer.customerNo,
    tblSalesHeader.invoiceNo,
    tblSalesHeader.orderDate,
    tblSalesDetail.quantity,
    tblSalesDetail.productNo,
    tblSalesDetail.description,
    tblSalesDetail.unitPrice
FROM
  tblSalesHeader
   left JOIN tblSalesDetail ON (tblSalesHeader.invoiceNo = tblSalesDetail.invoiceNo)
   left JOIN tblCustomer ON (tblSalesHeader.cID = tblCustomer.cid)
   left JOIN tblUsers ON (tblSalesHeader.salesmanID = tblUsers.iID)
   left JOIN tblProducts ON (tblSalesDetail.productNo = tblProducts.productNumber)

WHERE
  tblSalesHeader.invoiceNo=2482
GROUP BY
  tblCustomer.customerNo,
  tblSalesHeader.invoiceNo,
  tblSalesDetail.productNo

我知道应该返回5行,因为tblSalesDetail中有5行,其中invoiceNo = 2482,如下所示:

select * 
from 
    tblSalesDetail
    left join tblSalesHeader on (tblSalesHeader.invoiceNo = tblSalesDetail.invoiceNo)
where
tblSalesHeader.invoiceNo=2482 

我确定我的联接正在过滤结果,但我不知道为什么。

1 个答案:

答案 0 :(得分:2)

摆脱GROUP BY。你没有使用它。