Google bigquery 如何正确连接两个表?
我有两张桌子,它们自己可以很好地工作。在这里,我选择了与在我的主页上购买了东西的userIDGoogle bigquery 如何正确连接两个表?,google-bigquery,Google Bigquery,我有两张桌子,它们自己可以很好地工作。在这里,我选择了与在我的主页上购买了东西的userID12相对应的所有流量源 SELECT date, trafficSource.A, trafficSource.B, trafficSource.C,hits.transaction.BuyID FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03'), TIMESTAMP('2015-09-03'))) WHERE hits.tr
12
相对应的所有流量源
SELECT date, trafficSource.A, trafficSource.B, trafficSource.C,hits.transaction.BuyID
FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03'), TIMESTAMP('2015-09-03')))
WHERE hits.transaction.BuyID = '12'
我得到的是:
trafficSource.A,trafficSource.B,trafficSource.C,hits.transaction.BuyID
a b c 12
在我的第二个表中,我选择了符合特定标准的流量源:
SELECT trafficSource.A, trafficSource.B, trafficSource.C
FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03')
WHERE trafficSource.source = 'specific criteria'
现在,我想生成一个表,其中包含所有BuyIDs
的信息以及相应的流量源:
SELECT trafficSource.A, trafficSource.B, trafficSource.C,hits.transaction.BuyID
FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03'), TIMESTAMP('2015-09-03'))) AS result
JOIN (SELECT hits.transaction.BuyID
FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03'), TIMESTAMP('2015-09-03'))))AS results
ON result.hits.transaction.BuyID =results.hits.transaction.BuyID
获取:
Error: 0.0 - 0.0: Ambiguous field reference transaction.BuyID
query invalidQuery. 0.0 - 0.0: Ambiguous field reference transaction.BuyID
看起来是这样的,您选择的是列transaction.BuyID,但它存在于您所连接的两个表中(“result”和“results”),因此BigQuery不知道您想要哪一个。(即使值恰好相同,因为这是您定义加入的方式。)选择“result.hits.transaction.BuyID”。很抱歉,我刚刚调整了查询。我忘了点击了,但仍然不明确,结果和结果中都有hits.transaction.BuyID。调整
JOIN(选择hits.transaction.BuyID
加入JOIN(选择result.hits.transaction.BuyID
给出错误:未找到字段'result.hits.transaction.BuyID'。
相同错误
此处选择trafficSource.A,trafficSource.B,trafficSource.C,result.hits.transaction.BuyID
你真奇怪获取该错误,因为您正在加入该字段。如果不知道基础表的列结构,我无法告诉您更多信息,但您可以尝试为子选择中的列指定别名,并引用顶部查询中的列。如果您只想选择所有BuyID及其corr,我不太理解为什么您需要加入对应的流量来源。换句话说,您给出的第一个查询(带条件)之间的关系是什么那么连接查询呢?问题是,如果我只选择所有BuyIDs
和相应的流量源,我将在BuyIDs
中得到一个包含大量NA
的表。使用连接将使事情变得更容易。