这是我第一次接触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尝试一下?
答案 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