mysql查询左连接+;计数
我想从订单文件中得到一组数据 客户编号、订单号、产品、数量、价格以及每个订单的订单详细信息文件中的行数。 我对最后一部分有困难mysql查询左连接+;计数,mysql,Mysql,我想从订单文件中得到一组数据 客户编号、订单号、产品、数量、价格以及每个订单的订单详细信息文件中的行数。 我对最后一部分有困难 Select Header.CustNo, Header.OrderNumber, Detail.SKU, Detail.Quantity, Detail.Price, Count(Detail2) from Header left join Detail on (Header.OrderNumber= Detail.OrderNumber ) le
Select Header.CustNo, Header.OrderNumber, Detail.SKU,
Detail.Quantity, Detail.Price, Count(Detail2) from Header
left join Detail on (Header.OrderNumber= Detail.OrderNumber )
left join Detail as Detail2 on (Header.OrderNumber= Detail2.OrderNumber )
这就是你的意思吗
SELECT Header.CustNo,
Header.OrderNumber,
Detail.SKU,
Detail.Quantity,
Detail.Price,
( SELECT COUNT(1)
FROM Detail AS Detail2
WHERE Detail2.OrderNumber = Header.OrderNumber
)
FROM Header
LEFT
JOIN Detail
ON Header.OrderNumber = Detail.OrderNumber
;
这里缺少一个逗号:Detail.Price Count(Detail2)我也不明白为什么要做两次相同的连接。第二次我想对细节行进行计数,但这显然不是语法。我在读一些小册子,但我的头她受伤了你错过了一组条款。您有多个未聚合的字段,mysql将不知道如何安排进行计数()。。在subselect或WITH子句中?subselect中不需要GROUP BY吗?@mustaphagerge:不,因为您只希望它返回一行。(请注意,这是一个相关子查询:它引用外部查询中的
头.OrderNumber
)!它起作用了!!比我处理临时表的工作要简单得多。。