【发布时间】:2021-02-22 03:17:34
【问题描述】:
我有一个具有以下值的表 A
+----+----------+-----------------------+
| ID | Date | Name |
+----+----------+-----------------------+
| 1 | 1/4/2019 | Kara,Sara,John |
| 2 | 3/2/2018 | Sara |
| 3 | 4/3/2019 | Lynn,John,Chris,Agnes |
| 4 | 2/1/2020 | Phillip, Anton |
| 5 | 5/1/2020 | Quinn |
| 6 | 7/6/2020 | Idie,John |
+----+----------+-----------------------+
还有一个具有以下值的表 B
+-------+
| Name |
+-------+
| John |
| Sara |
| Chris |
+-------+
我希望输出如下:
+----+----------+-----------------------+--------+-----------------+
| ID | Date | Name | B.Name | Exists in List? |
+----+----------+-----------------------+--------+-----------------+
| 1 | 1/4/2019 | Kara,Sara,John | Sara | Yes |
| 1 | 1/4/2019 | Kara, Sara, John | John | Yes |
| 2 | 3/2/2018 | Sara | Sara | Yes |
| 3 | 4/3/2019 | Lynn,John,Chris,Agnes | John | Yes |
| 3 | 4/3/2019 | Lynn,John,Chris,Agens | Chris | Yes |
| 4 | 2/1/2020 | Phillip, Anton | | No |
| 5 | 5/1/2020 | Quinn | | No |
| 6 | 7/6/2020 | Idie,John | John | Yes |
+----+----------+-----------------------+--------+-----------------+
我尝试使用 CONTAINS,但看起来 teradata sql 不接受它。尝试使用 CSVLD 将文本转换为列。但是,由于字符串可以接受的逗号数量不固定,如果我事先不知道需要从文本中重新创建多少列,我将无法使用 CSVLD 函数。 想知道是否有任何替代方法可以将一列与一串值连接起来?感谢您的善意意见。
【问题讨论】:
-
结果没有意义。为什么萨拉不说“是”?
-
right.my bad.. 修复了它
-
这些表的行数是多少? Gordon 的回答将导致 product join 可能需要大量 CPU...