![]() |
1
1
两个分组集都包含Shiftname和Tankname,因此分组函数将始终返回0。 由于WHERE子句包含Shift、Shiftentry和Shiftentrydet的标准,因此记录必须存在,因此连接是内部连接(好的,可能不适用于油箱和喷嘴)。 最好是按键值分组,而不是按显示名称分组,而且按其他信息(打开、关闭)分组在我看来似乎是错误的。唯一应该分组的字段是Shift、Tank和Shiftentrydet的键(而不是喷嘴,因为喷嘴似乎构成了细节),因此我将在子查询(CTE)中进行分组和计算,并在主查询中连接其余字段,尽管会查询两次Shiftentrydet和Shift表(一次用于计算,一次用于显示)。我猜列Shiftentrydet\u PK确实存在)。 最后,您的查询将不会在同一列中为总计返回班次-储罐-和喷嘴名称和标题,也不会为班次和储罐创建标题行。为此,我建议使用报告(SSRS)。 对于仅查询的非报告解决方案,请尝试以下操作(未测试):
|
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 5 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 5 月前 |