在左联接和交叉联接BigQuery中使用更新

问题描述

我已经发布的问题中有一个后续问题。

Using update with Left Join BigQuery

我试图获得相同的结果,但还添加了交叉连接。

const MySunburst = () => {
    const [selected,setSelected] = useState('default id here,usually the root id')

    return <div>
        <span>Currently viewing: {selected}</span>
        <Plot data={[{
            type: "sunburst",level: selected,labels: // Some labels
            ids: // Some ids
            parents: // Some parents
        }]} layout={{
            transition: {
                duration: 500,easing: 'cubic-in-out'
            }
        }} onSunburstClick={(event) => {
            setSelected(event.nextLevel)
            return false
        }}/>
    <div>
}

我有2个表Table1和Table2

我想用Table2.Value更新Table1.ColumnTest

其中Table1.ID = Table2.hits.eventInfo.eventCategory(嵌套表格2)

,如果Table1.ID Table2.hits.eventInfo.eventCategory,则使用“ no run”更新Table1.ColumnTest

感谢您的帮助!

解决方法

尝试以下

UPDATE `table1` t1
SET ColumnTest = IFNULL(t2.value,'no run')
FROM (
  SELECT id,value
  FROM `table1` 
  LEFT JOIN (
    SELECT hit.eventInfo.eventCategory AS id,value
    FROM `table2`
    CROSS JOIN UNNEST (hits) AS hit
  )
  USING(id)
) t2
WHERE t1.ID = t2.ID 

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...