当前位置: 首页 > 面试题库 >

生成顺序日期的sql临时表,以将左外部连接到

鄂育
2023-03-14
问题内容

我有一个数据表,我想通过存储的proc进行选择,以便用户可以将MS excel前端连接到该表,并使用原始数据作为图形源。

该表的原始数据的问题在于日期之间存在间隙,因为如果给定日期没有数据(该日期没有记录),那么当用户尝试对其进行绘图时,它会产生问题。

我也想将存储的proc更新到日期的临时表的左侧外部联接,以便右侧将以null形式出现,我可以将其强制转换为零,以使它们具有简单的绘图体验。

我如何最好地生成一个开始日期和结束日期之间的日期的字段表?


问题答案:

在SQL Server 2005及更高版本中,您可以使用以下命令(通用表表达式CTE)来执行此操作:

DECLARE @DateFrom DATETIME
SET @DateFrom = '2011-01-01'

DECLARE @DateTo DATETIME
SET @DateTo = '2011-01-10'

;WITH DateRanges AS
(
    SELECT @DateFrom AS 'DateValue'
    UNION ALL
    SELECT DATEADD(DAY, 1, DateValue)
    FROM DateRanges
    WHERE DateValue < @DateTo
)
SELECT * FROM DateRanges

您可以LEFT OUTER JOIN将此CTE放在表上并html" target="_blank">返回结果。



 类似资料:
  • 问题内容: 我创建SQL Server查询,并具有带有记录的普通表,另一方面具有带有记录的临时表,并且此表不为空,并且所有字段都没有任何要加入的冲突 是否可以加入这两个不同类型的表? 问题答案: 是否可以加入这两个不同类型的表?(正常和临时) 是的,可以联接不同类型的表(永久表和临时表)。连接这些表没有不同的语法。 例如 永久表: 临时表: 联接两个表: 看看这个SQLFiddle

  • 问题内容: 我在SQL中有此查询,并且希望它使用Entity Framework 在LINQ中实现它,但是如何应用左外部联接的多个表? 问题答案: 这是使用LINQ实现左外部联接的方式。您应该使用GroupJoin(语法): 该查询联接了三个表。您可以以相同的方式加入其余表。

  • 问题内容: 我有这些表, 和。我想执行左外部联接。 劳斯莱斯 推出 SUMing,JOINing和GROUPings之后的预期输出==> 我的代码: 但是上面代码的O / P是 我不知道我要去哪里错了-你能解释一下吗? 问题答案: 您没有做错任何事。这就是JOIN的行为 它是左边的行数X右边的行数,在您的情况下为3 x 2 = 6。 试试这个 SQLFiddle 我知道这不适用于SQL Serve

  • LEFT OUTER JOIN 左外连接 [ ] 需求:查询所有分类,如果该分类下没有商品,则不显示该分类 [ ] 实现: SELECT `goods`.`id`, `goods`.`title`, `goods`.`price`, `goods`.`cate_id`, `cate`.`id`, `cate`, `cate.title` F

  • 我有两个日期字段: 开始日期和结束日期和临时日期。 我有一个列表,其中我在开始日期和结束日期之间返回了6条记录。我如何过滤记录并返回最接近临时日期的日期时间? 在示例记录中,我需要获得第二条记录,因为与临时日期相近。实例

  • MariaDB 用于返回条件中指定的左侧表中的所有行,并仅返回满足连接条件的其他表中的行。 也被称为。 语法: 图形表示如下: 注: 上图中,两个图形的左侧表(table1)和右侧表(table2)中间交叉蓝色部分,以及左侧表(table1)就是连接返回的结果集。 为了方便演示,我们需要创建两个表,并插入一些数据 - 插入数据 - 当前表中的行记录如下 - 当前表中的行记录如下 - 示例1 使用以