我想对事务数据进行分类,我的表格数据如下:
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"发生?
答案 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);