按汇总分组

时间:2013-07-16 07:31:50

标签: sql sql-server join group-by distinct

这是我第一次接触SQL Server,字面意思I have no idea what I'm doing 直到今天我才使用MySQL,但让我们切入追逐 我有一个加入的查询。

SELECT locations.locationId, locations.code, locations.description,
       machines.RoutingCode, machines.FaNo, machines.nameBg 
FROM scanlog 
LEFT JOIN  locations ON locations.Barcode = scanlog.LineBarcode 
LEFT JOIN machines ON machines.barcode = scanlog.MachineBarcode

问题: 我想对machines.RoutingCodelocations.code上的行进行分组。
我的意思是在MySQL中。如果我有20个条目具有相同的routingCode和相同的code,它将只返回给我一行。那么有没有办法在这里做,或者我应该用DISTINCT尝试一下?

1 个答案:

答案 0 :(得分:2)

尝试这样的事情 -

SELECT
      locationId = MAX(l.locationId)
    , l.Code
    , [description] = MAX(l.[description])
    , m.RoutingCode
    , FaNo = MAX(m.FaNo)
    , nameBg = MAX(m.nameBg)
FROM dbo.scanlog s
LEFT JOIN dbo.locations l ON l.BarCode = s.LineBarcode
LEFT JOIN dbo.machines m ON m.BarCode = s.MachineBarcode
GROUP BY 
       l.Code
     , m.RoutingCode