SQL:使用不同的子句获取列表两次,其中

混合

我尝试使用不同的子句两次在同一个表中获取相同的列:

我的查询:

SELECT 
    * 
FROM
    (SELECT TOP 10 
         CONVERT(DATE, attemptdate) AS Date, 
         Max(currentcount) AS A 
     FROM   
         logintracking 
     INNER JOIN 
         maxuser ON logintracking.loginid = maxuser.loginid 
     INNER JOIN 
         site ON site.siteid = maxuser.defsite 
     WHERE  
         attemptdate BETWEEN @dateDebut AND @dateFin 
         AND logintracking.clientaddr IN ('10.118.254.21', '10.118.254.156') 
     GROUP BY 
         CONVERT(DATE, attemptdate) 
     ORDER BY 
         CONVERT(DATE, attemptdate) ASC
    ) AS T1, 
    (SELECT TOP 10 
         CONVERT(DATE, attemptdate) AS Date, 
         MAX(currentcount) AS B 
     FROM   
         logintracking 
     INNER JOIN 
         maxuser ON logintracking.loginid = maxuser.loginid 
     INNER JOIN 
         site ON site.siteid = maxuser.defsite 
     WHERE  
         attemptdate BETWEEN @dateDebut AND @dateFin 
         AND logintracking.clientaddr = '10.118.254.35' 
     GROUP BY 
         CONVERT(DATE, attemptdate) 
     ORDER BY 
         CONVERT(DATE, attemptdate) ASC) AS T2 

结果:

在此处输入图片说明

想要的结果:

在此处输入图片说明

我的目标是两次获得同一列 'max(currentcount)' 并应用不同的 where 子句,以便获得名为 (A & B) 的两列,我还需要在第一列中显示日期,请帮忙? 谢谢

雅各布·兰伯特

由于A之间的唯一区别Blogintracking.clientaddr,您可以将该条件放在函数内的CASE语句中MAX

SELECT CONVERT(DATE, attemptdate) AS Date, 
    MAX(CASE WHEN logintracking.clientaddr IN ( '10.118.254.21', '10.118.254.156' ) THEN currentcount END) AS A,
    MAX(CASE WHEN logintracking.clientaddr IN ( '10.118.254.35' ) THEN currentcount END) AS B
FROM logintracking 
    INNER JOIN maxuser 
        ON logintracking.loginid = maxuser.loginid 
    INNER JOIN site 
        ON site.siteid = maxuser.defsite 
WHERE attemptdate BETWEEN @dateDebut AND @dateFin
GROUP BY CONVERT(DATE, attemptdate) 
ORDER BY CONVERT(DATE, attemptdate) ASC

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用不同的片段调用 add() 两次

使用不同的参数两次读取文件

使用不同的参数调用函数两次

如何通过前后应用不同的键项来两次打印列表?

使用不同的参数运行两次 tumblr API 调用以返回不同的数据

使用testify使用不同的输入和输出两次模拟接口方法

JAVA使用不同的密钥两次加密String并将其解密

两次安装Debian Wheezy时使用不同的控制台字体大小

如何使用不同的属性两次执行Maven插件

在python中使用不同的名称两次导入模块

如何使用不同的记录值两次查询表中的列?

为什么JUnit使用不同的结果运行两次测试

使用不同的 publicPath 在 webpack 中两次注入相同的资产

使用不同的行为两次向TabControl注册同一视图

使用ggsave(ggplot2)将ggplot用不同的文件格式保存两次

如何使用不同的 lambda 表达式两次模拟方法?

测试一个方法是否使用不同的参数被调用两次

用不同的道具两次分派动作

如何在WHERE子句中两次使用同一列表?

是否想在同一视图上使用不同类型两次使用同一模型?

如何获取WebAPI以使用不同的select子句为SQL查询返回JSON

调用一个函数,该函数需要两次使用不同的闭包的闭包

如果使用不同的参数连续两次调用递归函数,则会出现错误的结果

两次使用相同的命令,但如果用户在列表中,则会得到不同的响应

如何获取两次两次Git提交之间更改的所有文件的列表?

简化LINQ-具有两个不同where子句的Col的和两次

对于使用ORDER BY的同一查询的两次运行,SQL能否返回不同的结果?

获取两次提交之间所有标签的列表

用不同的值两次连接同一张表