SQL中的表分析

汉兹

我有TABLE_A并且TABLE_B我需要创建TABLE_B_FINAL

规则:
如果在TABLE_A的值ID_C=1和的值中,AB=AFTER我们将的值乘以(行和列)中的WEIGHT对应值下面的例子:如果在的值和的值,我们将相乘的值与对应的值(行和列)。如果在价值和价值,我们将成倍的价值与相应的值(行和列)。该算法检查中的所有记录TABLE_BID_C=1AFTER


TABLE_AID_C=1AB=BEFOREWEIGHTTABLE_BID_C=1BEFORE
TABLE_AID_C=2AB=AFTERWEIGHTTABLE_BID_C=2AFTER

TABLE_A并且将其值WEIGHT与对应的值相乘TABLE_B

开头的所有行和列(TABLE_B具有默认值该值将在乘法过程中更改。1AFTERBEFORE

TABLE_A

ID_N | WEIGHT_N | ID_C | AB | 
5 | 1.15 | 1 |之后| 
12 | 1.13 | 1 |之前| 
60 | 1.65 | 3 |之后| 
90 | 1.85 | 2 |之后| 
80 | 1.45 | 3 |之后| 
140 | 1.57 | 2 |之前|

TABLE_B

| ID_C |之前|之后| 
| 1 | 1 | 1 | 
| 2 | 1 | 1 | 
| 3 | 1 | 1 |

TABLE_B_FINAL

| ID_C |之前|之后| 
| 1 | 1 * 1.13 = 1.13 | 1 * 1.15 = 1.15 | 
| 2 | 1,57 | 1,85 | 
| 3 | 1 | 1 * 1.65 * 1.45 = 2.39 |
拉胡尔·沙玛(Rahul Sharma)
Select TABLE_B.ID_C AS ID_C, BEFORE = 
  CASE TABLE_C.AB
    WHEN 'BEFORE' THEN TABLE_B.BEFORE*TABLE_C.WEIGHT_N
    ELSE TABLE_B.BEFORE
  END,
AFTER =
  CASE TABLE_C.AB 
    WHEN 'AFTER' THEN TABLE_B.AFTER*TABLE_C.WEIGHT_N
    ELSE TABLE_B.AFTER
  END
FROM (SELECT ID_C, AB, EXP(SUM(ln(WEIGHT_N))) FROM TABLE_A GROUP BY ID_C, AB) as TABLE_C
JOIN TABLE_B ON TABLE_B.ID_C=TABLE_C.ID_C;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL中的表分析(乘法)

来自分类Dev

基本表分析SQL

来自分类Dev

如何基于分析函数中的值选择表Oracle SQL

来自分类Dev

不在枢纽分析表中

来自分类Dev

不在枢纽分析表中

来自分类Dev

使用 Python 分析两个 SQL 数据库之间的多个表中的数据

来自分类Dev

MIN在SQL分析中的滞后

来自分类Dev

在Postgresql中回滚或反转表分析

来自分类Dev

分析SQL Server中的数据结构

来自分类Dev

如何使用SQL Server在单个DB中分析表的大小?

来自分类Dev

SQL Join在不同的列上进行多次表分析

来自分类Dev

分析具有大量列的 SQL Server 表的最佳方法?

来自分类Dev

枢纽分析表中的一排(Laravel)中的双列

来自分类Dev

在 R 中,列联表中单行的频率分析

来自分类Dev

表中的SQL语句

来自分类Dev

在SQL中创建表

来自分类Dev

Sql中的表输出

来自分类Dev

在 sql 中透视表

来自分类Dev

在 SQL 中透视表

来自分类Dev

SQL表中的键值对

来自分类Dev

使用美丽的汤来分析python中的表

来自分类Dev

真空分析模式Postgres中的所有表

来自分类Dev

在BigQuery中创建页面路径表(路径分析; Unpivot)

来自分类Dev

熊猫如何互相计算枢纽分析表中的2栏

来自分类Dev

合并查询中的两个分析表

来自分类Dev

在BigQuery中创建页面路径表(路径分析; Unpivot)

来自分类Dev

方差分析表中的重命名因子

来自分类Dev

SQL Server中的表数据透视表

来自分类Dev

在PHP / HTML表中显示SQL表