如何在值列中搜索特定值并在 Big Query SQL 中替换为该特定值?
Posted
技术标签:
【中文标题】如何在值列中搜索特定值并在 Big Query SQL 中替换为该特定值?【英文标题】:How to search for a particular value in a column of values and replace with that particular value in Big Query SQL? 【发布时间】:2015-09-24 02:09:20 【问题描述】:如何在 id 级别的值列中搜索特定值“xyz”,如果找到的话,如何将它们全部替换为 id 级别的“xyz”。这是我的示例输入/输出,如下所示。
****
- Input :-
****
id,value
123,'abc'
123,'abc'
123,'xyz'
456,'def'
456,'def'
456,'def'
Output:-
id,value
123,'xyz'
123,'xyz'
123,'xyz'
456,'def'
456,'def'
456,'def'
【问题讨论】:
我不明白你在这里需要什么,你能更明确一点,详细说明你到底想要完成什么。 【参考方案1】:我解释示例的方式 - 您查找值为“xyz”的所有 id,并将这些 id 的值更改为“xyz”。 那么下面的 LEFT JOIN 应该可以做到:
SELECT a.id, IF(b.value IS NULL, a.value, 'xyz') FROM (
SELECT a.id, a.value, b.value FROM T a
LEFT OUTER JOIN
(SELECT id FROM T WHERE value = 'xyz') b)
【讨论】:
以上是关于如何在值列中搜索特定值并在 Big Query SQL 中替换为该特定值?的主要内容,如果未能解决你的问题,请参考以下文章