Ada*_*dam 5 sql t-sql sql-server sql-server-2014
第一篇文章所以请你好.[SQL Server 2014]
我目前正在对表格进行选择,如下所示
select 
ExerciseCultures.Name,
max (convert (decimal (10,2), cast(weight as float))) as [Max Weight (KG)]
from workoutsessions
        join ExerciseCultures on workoutsessions.ExerciseID 
        = ExerciseCultures.ExerciseID
group by ExerciseCultures.Name
返回31行,每个exerciseID一个,显示每个行的最高"权重"值.
我需要的是一个附加列,它还显示每个行的日期.日期列已经是每个行旁的workoutsessions表中的一列.
我尝试使用以下内容添加此日期列:
select 
ExerciseCultures.Name,
max (convert (decimal (10,2), cast(weight as float))) as [Max Weight (KG)],
workoutsessions.date
from workoutsessions
        join ExerciseCultures on workoutsessions.ExerciseID 
        = ExerciseCultures.ExerciseID
group by ExerciseCultures.Name,
    workoutsessions.date
但是这会返回286行 - 父表中的所有行.我需要的是原始查询结果,只有他们各自来自workoutsessions表的日期.
有什么想法吗?
非常感谢
SELECT A.NAME, 
       A.[max weight (kg)], 
       B.date 
FROM   (SELECT exercisecultures.NAME, 
               Max (CONVERT (DECIMAL (10, 2), Cast(weight AS FLOAT))) AS [Max Weight (KG)] 
        FROM   workoutsessions 
               JOIN exercisecultures 
                 ON workoutsessions.exerciseid = exercisecultures.exerciseid 
        GROUP  BY exercisecultures.NAME) A 
        JOIN workoutsessions B 
          ON a.NAME = b.NAME 
             AND CONVERT (DECIMAL (10, 2), Cast(B.weight AS FLOAT)) = 
                 A.[max weight (kg)]