【发布时间】:2021-05-11 07:16:51
【问题描述】:
我正在尝试根据另一列中的部分匹配值在我的 BigQuery 表中创建一个新列。这是我正在尝试做的一个例子。假设这是我的桌子:
| id | statement |
|---|---|
| 123 | I like green |
| 234 | I love green |
| 456 | I like orange |
| 123 | I hate yellow |
我想做的是创建一个如下所示的新表:
| id | statement | color |
|---|---|---|
| 123 | I like green | green |
| 234 | I love green | green |
| 456 | I like orange | orange |
| 123 | I hate yellow | None |
我尝试过使用这样的查询:
SELECT ID, Statement
CASE WHEN Statement IN ('green') THEN 'green' ELSE 'None' END AS color
CASE WHEN Statement IN ('orange') THEN 'orange' ELSE 'None' END AS color
FROM `data.Table1`
当然,这只有在完全匹配的情况下才有效。如何获得具有基于上述部分匹配的值的新列?提前致谢。
【问题讨论】:
标签: sql google-bigquery