google-bigquery - LEFT JOIN 与重复的大查询
问题描述
我的表有重复的 ID,但我想知道两者之间匹配的 ID。表 1 中的哪些不在表 2 中。
Table1 中的 ID 也是 INTEGER,table2 中的 ID 是 STRING,这就是我使用演员表的原因
SELECT cast(T1.ID as STRING) as ID
FROM `project.dataset.table1` as T1 WHERE ID is not null
LEFT JOIN
SELECT DISTINCT(T2.ID) as ID
FROM `project.dataset.table2` as T2 WHERE ID is not null
ON T1.ID = T2.ID
我分别运行这两个查询并且它们没问题,但是当我尝试创建左连接时它显示此错误
大查询错误:
Syntax error: Expected end of input but got keyword LEFT at [3:1]
我已经从这个问题中尝试过BigQuery Full outer join 产生“left join”结果
#standardSQL
SELECT COUNT(DISTINCT T1.NPI)
FROM `project.dataset.table1` as T1 WHERE NPI is not null
JOIN `project.dataset.table2` as T2 WHERE NPI is not null
ON T1.NPI= T2.NPI
还有更多错误。
你能指导我吗?
解决方案
尝试除了:
SELECT cast(T1.ID as STRING) as ID
FROM `project.dataset.table1` as T1 WHERE ID is not null
EXCEPT
SELECT DISTINCT(T2.ID) as ID
FROM `project.dataset.table2` as T2 WHERE ID is not null
推荐阅读
- django - Django 2.0.5 使用 CBV 列表视图显示不同的查询集结果
- html - flexbox 中的对齐内容在 IE 11 中不起作用
- javascript - JSDOM 尝试获取 json 文件时出现“错误:禁止跨域 null”
- python - 对cleverhans FastGradientMethod (FGM)、对抗性图像生成的怀疑
- angular - 如何处理输入类型 =“文本”的 keyup 事件
- angular - 如何在 Angular 5 中获取 URI 的第一部分?
- timepicker - TimePicker - 将 minTime 设置为大于选定的开始时间
- c# - FindElementByXPath 不会在页面外找到元素
- node.js - 您应该在 Kubernetes 中使用 PM2、节点集群还是两者都不使用?
- git - Git:总结一系列提交中的更改