在联接中使用替换功能 (SQL)
Using Replace Function in Join (SQL)
我有两个表,其中两个表中都有一列 list_id
。我需要从表 2 中删除此列中的特定字符,以便使连接工作。请参阅下面的示例数据:
table1.list_id table2.list_id
6353 tb6353
3455 tb3455
5354 tb5354
我的查询如下所示:
SELECT *
FROM table1
LEFT JOIN table2 ON REPLACE(table2.list_id,'tb','') = table1.list_id
然而,当 运行 这个查询在 Presto
时,我得到以下错误:'=' cannot be applied to varchar, bigint
SELECT *
FROM table1
LEFT JOIN table2 ON CAST(REPLACE(table2.list_id,'tb','') AS bigint) = table1.list_id
或
SELECT *
FROM table1
LEFT JOIN table2 ON REPLACE(table2.list_id,'tb','') = CAST(table1.list_id as VARCHAR)
我有两个表,其中两个表中都有一列 list_id
。我需要从表 2 中删除此列中的特定字符,以便使连接工作。请参阅下面的示例数据:
table1.list_id table2.list_id
6353 tb6353
3455 tb3455
5354 tb5354
我的查询如下所示:
SELECT *
FROM table1
LEFT JOIN table2 ON REPLACE(table2.list_id,'tb','') = table1.list_id
然而,当 运行 这个查询在 Presto
时,我得到以下错误:'=' cannot be applied to varchar, bigint
SELECT *
FROM table1
LEFT JOIN table2 ON CAST(REPLACE(table2.list_id,'tb','') AS bigint) = table1.list_id
或
SELECT *
FROM table1
LEFT JOIN table2 ON REPLACE(table2.list_id,'tb','') = CAST(table1.list_id as VARCHAR)