我无法搞清楚这个SQL查询(MySql 5是服务器)。
我的表格如下:
我的查询如下所示:
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
我确定我的联接正在过滤结果,但我不知道为什么。
答案 0 :(得分:2)
摆脱GROUP BY
。你没有使用它。