在Left Join BigQuery中使用更新

问题描述

我正在尝试使用BigQuery中的LEFT JOIN编写更新查询,但不确定如何编写。

  update Table1
  set ColumnTest =  ifnull(b.value,'no run')
  From left join  (select distinct ID,value FROM Table2 where value = 10) B  --
  where Table1.ID= Table2.ID

我有2个表Table1和Table2

我想用Table2.Value更新Table1.ColumnTest,其中Table1.ID = Table2.ID 并且如果Table1 Table2然后使用“ no run”更新Table1.ColumnTest

谢谢!

新尝试

  UPDATE Table1
  SET LP = IFNULL(t2.value,'no run')
  FROM (     select distinct hits.eventInfo.eventCategory as ID,value
       FROM Table2
       CROSS JOIN UNnesT (hits) AS hits
       left join  TAble1 using (hits.eventInfo.eventCategory)
       WHERE) t2
 WHERE t1.ID = t2.ID

错误:语法错误:预期为“)”或“,”,但显示为“。”

解决方法

我想用Table2.Value更新Table1.ColumnTest,其中Table1.ID = Table2.ID,如果Table1 Table2然后用'no run'更新Table1.ColumnTest

以下是用于BigQuery标准SQL

UPDATE `table1` t1
SET ColumnTest = IFNULL(value,'no run')
FROM (
  SELECT id,value
  FROM `table1`
  LEFT JOIN `table2`
  USING(id) 
) t2
WHERE t1.id = t2.id

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...