|
|
1
1
一开始,我认为这样做:
好的,显然我以前的要求是错的。假设CompleteCounts独立于StartDate,那么我将这样做:
事实上这和你的情况非常接近。 |
|
|
2
1
编辑:那么为什么下面的内容不起作用呢?如果要使计数为零而不是null,可以在最后一个select语句中的计数周围抛出coalesce()语句。它还将包括已完成(或在下面的示例中结束)注册的日期,即使该日期尚未开始注册。 我假设如下表结构(大致)。
然后你可以做下面的事情来得到你想要的。
我认为完整的外部连接是必要的,因为从昨天开始的记录可以在今天完成,但我们今天可能还没有开始新记录,因此您将从结果中损失一天。 |
|
|
3
0
我看没问题。我看到使用了一个通用的表表达式。 您没有为这些表提供DDL,所以我不打算尝试复制它。但是,我认为您可以直接用SELECT替换初始值。 |
|
|
4
0
结果中DateStart列的名称让我有点困惑。这看起来只是一个开始和结束的日子。计数是当天开始和完成的注册数量。
如果您希望包含计数为0和0的既不是DateStart也不是DateCompleted的日期,那么您将需要一个日期源,我认为在select子句中使用两个相关的子查询而不是JOIN和count distinct会更清楚:
|
|
|
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 3 年前 |
|
|
Nick Fleetwood · 调度语法的LINQ查询 4 年前 |
|
|
Mateen Bagheri · 选择表的计数并选择其自身 4 年前 |
|
Java · 使用交叉应用同时显示两列 4 年前 |