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
)!它起作用了!!比我处理临时表的工作要简单得多。。