将一个表中的行与另一表中的总和连接

Sanprof

我有一个表IPAddressHistory,其中包含三列IPAddressIDDateFromDateTo,另一个表IPAddressTimeValue具有按特定时间的详细值。所以,从我需要选择和值IPAddressTimeValue相关的IPAddressID之间DateFromDateToIPAddressHistory您可以从sqlfiddle中看到我想要的东西,例如,我使用了IPAddressHistory和UNION ALL中的简单静态日期谢谢。

初始表:

CREATE TABLE IPAddressHistory(
  [IPAddressHistoryID] int IDENTITY(1,1) NOT NULL,
  [IPAddressID] int NOT NULL,
  [DateFrom] datetime,
  [DateTo] datetime,
CONSTRAINT [PK_IPAddressHistory] PRIMARY KEY CLUSTERED 
(
    [IPAddressHistoryID] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY];

CREATE TABLE IPAddressTimeValue(
  [IPAddressTimeValueID] int IDENTITY(1,1) NOT NULL,
  [IPAddressID] int NOT NULL,
  [Time] datetime,
  [CCNI] int,
  [TRNI] int,
CONSTRAINT [PK_IPAddressTimeValue] PRIMARY KEY CLUSTERED 
(
    [IPAddressTimeValueID] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY];

初始数据:

在此处输入图片说明 在此处输入图片说明

结果输出: 在此处输入图片说明

豪尔赫·坎波斯

您需要的查询是以下查询:

select a.[IPAddressID], 
       a.[DateFrom], 
       a.[DateTo], 
       SUM([CCNI]) [CCNI], 
       SUM([TRNI]) [TRNI]
  from IPAddressHistory a
         INNER JOIN IPAddressTimeValue b 
                ON (a.[IPAddressID] = b.[IPAddressID])
 where b.[Time] > a.[DateFrom]
   and b.[Time] <= a.[DateTo]
 group by a.[IPAddressID], a.[DateFrom], a.[DateTo];

看到它在这里与您自己的选定联合一起工作:http : //sqlfiddle.com/#!6/abfe6/5

要根据需要格式化日期(datefrom和dateto),只需使用一些日期格式化功能。不要忘记在分组依据的选择字段上使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一个表中的金额总和,而另一表中的总金额

来自分类Dev

Linq查询将一个表行连接到另一表多行

来自分类Dev

C#Lambda将一个表中的多列连接到另一表中的单列

来自分类Dev

通过将列名连接到行,将一个表中的缺失值替换为另一表中的值

来自分类Dev

SQL连接包括一个表中的所有行,而与另一表中表示的行无关

来自分类Dev

将一个表中的动态条目数存储到另一表中的一行

来自分类Dev

根据位置将一个表的列安排为Microsoft SQL Server中另一表中的行

来自分类Dev

如何将一个表中的值添加到另一表中的特定行?

来自分类Dev

将一个表中字段的值用作另一表中字段的列名

来自分类Dev

将记录插入到表中,其中一个来自另一表

来自分类Dev

删除一个表中未被另一表引用的所有行

来自分类Dev

删除一个表中的行,并在另一表中进行查询

来自分类Dev

SQL查询从一个表中选择不在另一表中的行

来自分类Dev

MySQL将子表和父表连接到同一表中,然后再将其与另一个表连接

来自分类Dev

PostgreSQL对一个表中的每一行联接另一表中的所有行

来自分类Dev

将鼠标悬停在一个表中的行上可更改另一表的另一行的样式

来自分类Dev

如何将一个表中的最新行连接到另一个表MYSQL

来自分类Dev

将一个表中的行集合连接到另一个表的列 - SQL Server

来自分类Dev

如何:将一个表中的一列联接到另一表中的2列?

来自分类Dev

mysql在一个表中获取行,在另一表中获取日期,但是一年不行

来自分类Dev

加入时更改一个表中的行值以匹配另一表中的行值

来自分类Dev

proc sql:将一个表中的单个行复制到另一表中的所有行

来自分类Dev

如何在一个表中选择多行,而在另一表中只选择一行?

来自分类Dev

SQL:将一个表中的2列合并以与另一表中的1列进行比较

来自分类Dev

如何将一个表中的部分字符串与另一表中的ID匹配?

来自分类Dev

如何将一个表中的数据移动到30天以上记录的另一表中?

来自分类Dev

列出一个表的名称,该表的ID与另一表中的条目匹配

来自分类Dev

从与同一表中的另一个值匹配的行中选择一个值

来自分类Dev

MySQL查询-一个表中的单行与另一表中的多行

Related 相关文章

  1. 1

    一个表中的金额总和,而另一表中的总金额

  2. 2

    Linq查询将一个表行连接到另一表多行

  3. 3

    C#Lambda将一个表中的多列连接到另一表中的单列

  4. 4

    通过将列名连接到行,将一个表中的缺失值替换为另一表中的值

  5. 5

    SQL连接包括一个表中的所有行,而与另一表中表示的行无关

  6. 6

    将一个表中的动态条目数存储到另一表中的一行

  7. 7

    根据位置将一个表的列安排为Microsoft SQL Server中另一表中的行

  8. 8

    如何将一个表中的值添加到另一表中的特定行?

  9. 9

    将一个表中字段的值用作另一表中字段的列名

  10. 10

    将记录插入到表中,其中一个来自另一表

  11. 11

    删除一个表中未被另一表引用的所有行

  12. 12

    删除一个表中的行,并在另一表中进行查询

  13. 13

    SQL查询从一个表中选择不在另一表中的行

  14. 14

    MySQL将子表和父表连接到同一表中,然后再将其与另一个表连接

  15. 15

    PostgreSQL对一个表中的每一行联接另一表中的所有行

  16. 16

    将鼠标悬停在一个表中的行上可更改另一表的另一行的样式

  17. 17

    如何将一个表中的最新行连接到另一个表MYSQL

  18. 18

    将一个表中的行集合连接到另一个表的列 - SQL Server

  19. 19

    如何:将一个表中的一列联接到另一表中的2列?

  20. 20

    mysql在一个表中获取行,在另一表中获取日期,但是一年不行

  21. 21

    加入时更改一个表中的行值以匹配另一表中的行值

  22. 22

    proc sql:将一个表中的单个行复制到另一表中的所有行

  23. 23

    如何在一个表中选择多行,而在另一表中只选择一行?

  24. 24

    SQL:将一个表中的2列合并以与另一表中的1列进行比较

  25. 25

    如何将一个表中的部分字符串与另一表中的ID匹配?

  26. 26

    如何将一个表中的数据移动到30天以上记录的另一表中?

  27. 27

    列出一个表的名称,该表的ID与另一表中的条目匹配

  28. 28

    从与同一表中的另一个值匹配的行中选择一个值

  29. 29

    MySQL查询-一个表中的单行与另一表中的多行

热门标签

归档