我想将下面两个表中的条目组合起来以obj
匹配class
via attr
。
我在一个表(未显示)中有许多具有不同名称、日期和其他信息的对象。这些对象中的每一个都可以根据它们的属性归类。对象obj
到其每个属性attr
的映射在表 A 中。类class
到属性的映射attr
在表 B 中。
我想将每个对象映射obj
到其匹配类class
,以提供表 C 中显示的所需输出。
在某些方面,这似乎是对组的加入操作。有没有办法在标准 sql 和/或 Google BigQuery 中做到这一点?
重要的一点—— attr
aclass
和 of anobj
都没有排序。
表 A:
-------------------
| obj | attr |
-------------------
| obj1 | I |
| obj1 | II |
| obj2 | I |
| obj2 | II |
| obj3 | I |
| obj3 | II |
| obj3 | II |
| obj4 | III |
| obj4 | I |
-------------------
表 B:
-------------------
| attr | class |
-------------------
| I | A |
| II | A |
| I | B |
| III | B |
-------------------
期望的输出(表 C):
-----------------------
| obj | class |
-----------------------
| obj1 | A |
| obj2 | A |
| obj4 | B |
-----------------------
(请注意,obj3
它不属于,class
A
因为它有一个额外的II
attr
。)