如何在子字符串匹配时从BigQuery中的同一表中匹配列a和列b

问题描述 投票:0回答:1

我正在使用#standardSQL BigQuery。我尝试使用LIKE,但无法进行匹配。

我有下表,我正在尝试在BigQuery中编写查询,其中,如果列A中包含列A,那么我希望输出列C中的字符串来自列A或'1'。在这种情况下,列A和列B之间没有匹配,那么我希望在输出列C中获得列B或'0'。


id    |    Column A   |   Column B
1     |    John    |    Alex, John
3     |    Cerci   |    Cerci  
5     |    Mike   |    Mike 
2     |    Simi    |    Expatri  
6     |    Hazel    |    Expatri, Hazel  
4     |    Bald   |    Hair
7     |    Cam   |    Ambrose, Cam 

我理想中想要的

id    |    Column A   |   Column B  | **Column C**
1     |    John    |    Alex, John | John
3     |    Cerci   |    Cerci  | Cerci
5     |    Mike   |    Mike | Mike
2     |    Simi    |    Expatri  | Expatri
6     |    Hazel    |    Expatri, Hazel  | Hazel
4     |    Bald   |    Hair | Hair
7     |    Cam   |    Ambrose, Cam | Cam
string google-bigquery
1个回答
0
投票

使用CASE表达式:

SELECT
    id,
    A,
    B,
    CASE WHEN B LIKE '%' || A || '%' THEN A ELSE B END AS C
FROM yourTable
ORDER BY id;
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.