SQL 服务器查询返回 table 中的所有行而不是 MAX()
SQL Server Query returning all rows in a table instead of MAX()
我正在尝试 return 为清单中的每件设备读取 highest/last 小时表读数,但是,下面的查询列出了所有使用 MAX 的实例。
select sil.[Posting Date],
mre.[Service Item No_],
sil.[Job Code],
max(mre.[Reading]) as 'Hour Reading'
from [$meter reading entry]mre left outer join
[$service invoice line]sil on mre.[Service Item No_] = sil.[Service Item No_]
where sil.[Job Code] = 200
group by mre.[Service Item No_], sil.[Job Code], mre.[Reading], sil.[Posting Date]
发生这种情况是因为 mre.[Reading] 也用在 GROUP BY 子句中。要获得所需的结果,请从 GROUP BY 中删除 mre.[Reading] 并重试。
select sil.[Posting Date],
mre.[Service Item No_],
sil.[Job Code],
max(mre.[Reading]) as 'Hour Reading'
from [$meter reading entry]mre left outer join
[$service invoice line]sil on mre.[Service Item No_] = sil.[Service Item No_]
where sil.[Job Code] = 200
group by mre.[Service Item No_], sil.[Job Code], sil.[Posting Date]
我正在尝试 return 为清单中的每件设备读取 highest/last 小时表读数,但是,下面的查询列出了所有使用 MAX 的实例。
select sil.[Posting Date],
mre.[Service Item No_],
sil.[Job Code],
max(mre.[Reading]) as 'Hour Reading'
from [$meter reading entry]mre left outer join
[$service invoice line]sil on mre.[Service Item No_] = sil.[Service Item No_]
where sil.[Job Code] = 200
group by mre.[Service Item No_], sil.[Job Code], mre.[Reading], sil.[Posting Date]
发生这种情况是因为 mre.[Reading] 也用在 GROUP BY 子句中。要获得所需的结果,请从 GROUP BY 中删除 mre.[Reading] 并重试。
select sil.[Posting Date],
mre.[Service Item No_],
sil.[Job Code],
max(mre.[Reading]) as 'Hour Reading'
from [$meter reading entry]mre left outer join
[$service invoice line]sil on mre.[Service Item No_] = sil.[Service Item No_]
where sil.[Job Code] = 200
group by mre.[Service Item No_], sil.[Job Code], sil.[Posting Date]