如何对事务数据进行分类(database / sql / view)

时间:2015-05-07 11:38:10

标签: sql transactions classification

我想对事务数据进行分类,我的表格数据如下:

  

ID - COLUMN1 - COLUMN2 - COLUMN3

     

0 - A - B - C

     

0 - A - D - C

     

0 - E - B - C

     

1 - A - B - C

     

1 - A - B - C

     

2 - A - D - C

     

2 - A - B - F

     

3 - A - D - C

     

3 - A - B - F

     

3 - A - B - C

输出应如下:

  

ID - 分类

     

0 - 关键(因为模式" A D C")

     

1 - 不加批判(未检测到明显的模式)

     

2 - 关键(A D F)

     

3 - 关键(A D F)

仅举几例。模式可以在一行中或在完整的事务中(几行但一个相同的ID)

现在我想通过表/视图和SQL来解决没有编码的问题。我正在开发SAP HANA。

问题是,如何创建计算列或其他东西,它搜索事务数据表并将一个(!)事务(例如ID" 0")分类为关键,因为模式& #34; ADC"发生?

1 个答案:

答案 0 :(得分:0)

以下内容接近你想要的内容:

select distinct t1.id
from table t1 join
     table t2
     on t1.id = t2.id and t1.column1 = 'A' and t2.column2 = 'B' join
     table t3
     on t1.id = t3.id and t3.column3 = 'D';

目前还不清楚是否需要不同行中的值。如果是这样,那么您需要一个唯一的行标识符,您可以将其包含在逻辑中:

select distinct t1.id
from table t1 join
     table t2
     on t1.id = t2.id and t1.column1 = 'A' and t2.column2 = 'B' and
        t1.rowunique <> t2.rowunique join
     table t3
     on t1.id = t3.id and t3.column3 = 'D' and
        t3.rowunique not in (t1.rowunique, t2.rowunique);