如何在SQL Server SELECT的第二个联接表中按ID选择每个记录的顶部?

阿敏·阿米里·达班(Amin AmiriDarban)

这是我的代码

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在连接两个表时从第二个表中获取前 1 行:SQL Server 2014

来自分类Dev

从一个SELECT查询到第二个SELECT查询的SQL SERVER JOIN ID行

来自分类Dev

SQL Server-根据第二个表中的最早日期加入两个表

来自分类Dev

SQL Server:从一个表中获取所有数据,但条件是第二个表列

来自分类Dev

选择其他表中不存在的行,通过第二个表中的数据联接[SQL]

来自分类Dev

如何在SQL Server中获取第二个和第四个星期六的日期列表?

来自分类Dev

如何在SQL Server中多联接

来自分类Dev

在SQL Server中查找第二个最后一条记录(如果可用,否则最后一条记录)

来自分类Dev

SQL Server:如何获取单词中的第一个或第二个字母?

来自分类Dev

SQL:联接表,排除第二个表中的重复项

来自分类Dev

如何在 SQL Server 中重塑表?

来自分类Dev

如何在SQL Server中联接三个表

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

SQL Server:使用第一个插入的输出插入第二个表

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

来自分类Dev

左外部联接-如何在第二个表中返回存在的布尔值?

来自分类Dev

如何在内部联接中选择第二个最小值?

来自分类Dev

SQL Server AFTER INSERT 触发器每次插入更新第二个表多次

来自分类常见问题

如何在SQL Server中编写foreach?

来自分类Dev

如何在SQL Server中串联datepart?

来自分类Dev

如何在SQL Server中拆分URL

来自分类Dev

如何在SQL Server中“使用”架构

来自分类Dev

如何在SQL Server中存储令牌

来自分类Dev

Coalesce如何在SQL Server中工作?

来自分类Dev

如何在SQL Server中存储图像

来自分类Dev

如何在SQL Server中获得零

来自分类Dev

如何在 sql server 中打印这个?

来自分类Dev

当第二个查询依赖于SQL Server中的第一个查询输出时,如何在存储过程中编写两个查询

Related 相关文章

  1. 1

    如何在连接两个表时从第二个表中获取前 1 行:SQL Server 2014

  2. 2

    从一个SELECT查询到第二个SELECT查询的SQL SERVER JOIN ID行

  3. 3

    SQL Server-根据第二个表中的最早日期加入两个表

  4. 4

    SQL Server:从一个表中获取所有数据,但条件是第二个表列

  5. 5

    选择其他表中不存在的行,通过第二个表中的数据联接[SQL]

  6. 6

    如何在SQL Server中获取第二个和第四个星期六的日期列表?

  7. 7

    如何在SQL Server中多联接

  8. 8

    在SQL Server中查找第二个最后一条记录(如果可用,否则最后一条记录)

  9. 9

    SQL Server:如何获取单词中的第一个或第二个字母?

  10. 10

    SQL:联接表,排除第二个表中的重复项

  11. 11

    如何在 SQL Server 中重塑表?

  12. 12

    如何在SQL Server中联接三个表

  13. 13

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  14. 14

    SQL Server:使用第一个插入的输出插入第二个表

  15. 15

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  16. 16

    Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

  17. 17

    左外部联接-如何在第二个表中返回存在的布尔值?

  18. 18

    如何在内部联接中选择第二个最小值?

  19. 19

    SQL Server AFTER INSERT 触发器每次插入更新第二个表多次

  20. 20

    如何在SQL Server中编写foreach?

  21. 21

    如何在SQL Server中串联datepart?

  22. 22

    如何在SQL Server中拆分URL

  23. 23

    如何在SQL Server中“使用”架构

  24. 24

    如何在SQL Server中存储令牌

  25. 25

    Coalesce如何在SQL Server中工作?

  26. 26

    如何在SQL Server中存储图像

  27. 27

    如何在SQL Server中获得零

  28. 28

    如何在 sql server 中打印这个?

  29. 29

    当第二个查询依赖于SQL Server中的第一个查询输出时,如何在存储过程中编写两个查询

热门标签

归档