SQL查询如何在不同条件下将同一表中两列的值相除

用户名

假设我有一些示例数据,table_name_a如下所示:

    code    val    remark   date
   -----------------------------------
1   00001    500    111      20191107
2   00001   1000    222      20191107
3   00002    200    111      20191108
4   00002    400    222      20191108

当我输入代码'00001'和日期'20191107'时,我需要以下输出:

        code    val    
        -------------
    1   00001   0.5 

此SQL查询一定是错误的查询,因为我得到的错误结果如下:

         code    val
        --------------
0        00001   Null
1        00001   Null
2        00001   Null
3        00001   Null
4        00002   Null
5        00002   Null
6        00003   Null
7        00004   Null
8        00005   Null
SELECT 
    code, val
FROM 
    (SELECT 
         code, date,
         CASE WHEN t.remark = '111' THEN t.value ELSE 0 END /
         CASE WHEN t.remark = '222' THEN t.value ELSE 0 END AS val
     FROM 
         table_name_a t
     WHERE 
         code IN ('%(code)s')
         AND date IN ('%(input_date) s')) AS t1

非常感谢您的任何建议。

Zaynul Abadin Tuhin

尝试如下

select code, 
sum(case when remark=111 then val else 0 end)/sum(case when remark=222 then val else 0 end) as val
from table where code= '00001' and date= '20191107'
group by code

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将同一表中的两个查询连接到不同的月份和总和值

来自分类Dev

如何在sql中找出两个不同条件下字段的最大值

来自分类Dev

将同一列中的两个特殊值相除

来自分类Dev

如何在三个不同的条件下查询同一列三遍?

来自分类Dev

使用KQL'let'将同一表中的两个查询合并

来自分类Dev

将同一表中的列连接两次导致未知列问题

来自分类Dev

查询具有多个值但在同一表的不同表中的多个列

来自分类Dev

SQl查询同一表中不同条件的多个选择语句

来自分类Dev

如何从同一表的同一列中获取不同的值-Oracle

来自分类Dev

根据同一表中的不同条件返回列

来自分类Dev

如何在不在视图中编写SQL的情况下显示同一表中的条件?

来自分类Dev

PHP查询:如何在不同时间将数据输入到同一表的2列中

来自分类Dev

如何在不同条件下选择同一列

来自分类Dev

如何在 SQL 查询中连接同一表中的列以将它们显示为一个?

来自分类Dev

SQL查询-查找同一表中两个值之间的差异

来自分类Dev

SQL:查询同一表中的一列

来自分类Dev

SQL查询基于同一表中其他列的值从表中提取日期?

来自分类Dev

如何在两种不同条件下除以一列的总和?

来自分类Dev

如何在Oracle SQL中使用相同的子查询更新同一表中的多个列

来自分类Dev

如何比较同一表中不同列中的值

来自分类Dev

SQL比较同一表中的两列,并在另一表中更新

来自分类Dev

为什么在 oracle SQL 中,在 where 条件差异很大的情况下,对同一列执行具有两个不同值的查询所花费的时间

来自分类Dev

将同一表中的一列中的值更新为SQL Server中的另一列

来自分类Dev

如何将来自同一列但位于不同行的两个值相除

来自分类Dev

SQL根据第一个值两次从同一表中获取不同的值

来自分类Dev

如何在同一列中编写用于匹配两个条件的SQL查询?

来自分类Dev

如何在SQL中的某些条件下使用外键链接两个表?

来自分类Dev

如何将同一表中某些行的列值设置为与其他某些行的列值相同?

来自分类Dev

MySQL查询内部联接在不同条件下的同一张表上

Related 相关文章

  1. 1

    将同一表中的两个查询连接到不同的月份和总和值

  2. 2

    如何在sql中找出两个不同条件下字段的最大值

  3. 3

    将同一列中的两个特殊值相除

  4. 4

    如何在三个不同的条件下查询同一列三遍?

  5. 5

    使用KQL'let'将同一表中的两个查询合并

  6. 6

    将同一表中的列连接两次导致未知列问题

  7. 7

    查询具有多个值但在同一表的不同表中的多个列

  8. 8

    SQl查询同一表中不同条件的多个选择语句

  9. 9

    如何从同一表的同一列中获取不同的值-Oracle

  10. 10

    根据同一表中的不同条件返回列

  11. 11

    如何在不在视图中编写SQL的情况下显示同一表中的条件?

  12. 12

    PHP查询:如何在不同时间将数据输入到同一表的2列中

  13. 13

    如何在不同条件下选择同一列

  14. 14

    如何在 SQL 查询中连接同一表中的列以将它们显示为一个?

  15. 15

    SQL查询-查找同一表中两个值之间的差异

  16. 16

    SQL:查询同一表中的一列

  17. 17

    SQL查询基于同一表中其他列的值从表中提取日期?

  18. 18

    如何在两种不同条件下除以一列的总和?

  19. 19

    如何在Oracle SQL中使用相同的子查询更新同一表中的多个列

  20. 20

    如何比较同一表中不同列中的值

  21. 21

    SQL比较同一表中的两列,并在另一表中更新

  22. 22

    为什么在 oracle SQL 中,在 where 条件差异很大的情况下,对同一列执行具有两个不同值的查询所花费的时间

  23. 23

    将同一表中的一列中的值更新为SQL Server中的另一列

  24. 24

    如何将来自同一列但位于不同行的两个值相除

  25. 25

    SQL根据第一个值两次从同一表中获取不同的值

  26. 26

    如何在同一列中编写用于匹配两个条件的SQL查询?

  27. 27

    如何在SQL中的某些条件下使用外键链接两个表?

  28. 28

    如何将同一表中某些行的列值设置为与其他某些行的列值相同?

  29. 29

    MySQL查询内部联接在不同条件下的同一张表上

热门标签

归档