2

这是我第一次接触 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.RoutingCode和上的行进行分组locations.code
我的意思是像在 MySQL 中一样。如果我有 20 个相同routingCode且相同的条目code,它只会返回给我一行。那么这里有什么方法可以做到这一点,或者我应该尝试使用 DISTINCT 吗?

4

1 回答 1

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
于 2013-07-16T07:37:34.677 回答