【发布时间】:2021-05-29 05:54:34
【问题描述】:
我有两个结构不同的表,但TableA 的几列与TableB 不同。
在这里,我们必须将TableA 转换为TableB 结构并比较每个数据并标记来自TableB 的缺失行。如果它在TableA 中丢失,我需要忽略这些记录。
我不想使用Union all,并且在执行批量操作时需要考虑查询性能。请以最佳方式提出建议。
表A
| NAME | GENDER | DEPNAME | ID1 | ID2 | ID3 | ID4 | ID5 |
|---|---|---|---|---|---|---|---|
| Jacob | M | Math | OfficeID | PassPort | AppID | JobID | |
| Maria | F | Science | LabID | OfficeID | PassPort | AppID |
表B
| NAME | GENDER | DEPNAME | ID |
|---|---|---|---|
| Jacob | M | Math | OfficeID |
| Jacob | M | Math | PassPort |
| Jacob | M | Math | AppID |
| Maria | F | Science | LabID |
| Maria | F | Science | OfficeID |
| Maria | F | Science | PassPort |
表 A-B
| Name | Gender | DepName | ID | MissingID |
|---|---|---|---|---|
| Jacob | M | Math | OfficeID | No |
| Jacob | M | Math | PassPort | No |
| Jacob | M | Math | AppID | No |
| Jacob | M | Math | JobID | Yes |
| Maria | F | Science | LabID | No |
| Maria | F | Science | OfficeID | No |
| Maria | F | Science | PassPort | No |
| Maria | F | Science | AppID | Yes |
【问题讨论】:
-
你知道unpivot吗?
-
@Abra,我们如何将 unpivot 仅用于 ID 列?