这是我的代码
SELECT DISTINCT
E.EquipmentId, E.Name, E.KakhdaryNo, E.PropertyNo,
E.InstallationPlace, E.InstallationDate, E.BuyDate,
Vt.TypeCaption, E.VisitChosen, E.LastVisitDate, V.VisitReport
FROM
TblEquipment E
LEFT JOIN
TblVisitType Vt ON E.VisitType = Vt.VisitTypeId
LEFT JOIN
TblVisit V ON E.EquipmentId = V.EquipmentId
WHERE
1=1
AND E.Deleted <> 'True'
GROUP BY
E.Name
我收到一个错误:
消息8120,级别16,状态1,行1
列'TblEquipment.EquipmentId'在选择列表中无效,因为它既不包含在聚合函数中也不在GROUP BY子句中。
如果我不使用分组结果显示如下:
因此,如您所见,设备ID 15是重复的。.我只想要其中之一。.我更喜欢前一个,我的意思是更新的记录
请帮我怎么做?
Aa,您正在使用Group By子句,因此必须为每个选择的列使用Aggregate函数,或者必须在Group By子句中使用该列
例如
select a,b,max(c),min(d) from table_Name group by a,b
在你的情况下
SELECT
Max(E.EquipmentId),
E.Name,
Max(E.KakhdaryNo),
Max(E.PropertyNo),
Max(E.InstallationPlace),
Max(E.InstallationDate),
Max(E.BuyDate),
Max(Vt.TypeCaption),
Max(E.VisitChosen),
Max(E.LastVisitDate),
Max(V.VisitReport)
FROM
TblEquipment E
LEFT JOIN
TblVisitType Vt
on
E.VisitType=Vt.VisitTypeId
LEFT JOIN
TblVisit V
on
E.EquipmentId=V.EquipmentId
WHERE 1=1 AND E.Deleted <> 'True'
Group BY E.Name`
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句