【发布时间】:2016-05-16 19:28:39
【问题描述】:
我有这个错误“ON 子句必须是 AND of = 每个表中一个字段名的比较,所有字段名都以表名作为前缀。
此左连接仅用于 c.Network,其他情况则不需要。我理解错误,但两个表(bigdata:RawDebug.T 和 bigdata:RawDebug.CarrierDetails)之间没有公共字段。所以我不能在“ON”语句中引用两个表。
任何帮助将不胜感激!
DEFINE QUERY Test2
SELECT
HardwareId, DebugReason, DebugData,
CASE
WHEN lower(DebugData) LIKE 'ver%' THEN 'Verizon'
WHEN REGEXP_MATCH(DebugData,'\\d+') THEN c.Network
ELSE REGEXP_REPLACE(DebugData,'\\?',' ')
END
as ActualDebugData
FROM (TABLE_DATE_RANGE([bigdata:RawDebug.T],TIMESTAMP ('2016-05-15'),TIMESTAMP('2016-05-15'))) as d
LEFT JOIN [bigdata:RawDebug.CarrierDetails] as c ON c.Mcc = 289 AND c.Mnc = 88
WHERE d.reason = 50013
【问题讨论】:
标签: join left-join google-bigquery