Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery 如何正确连接两个表?_Google Bigquery - Fatal编程技术网

Google bigquery 如何正确连接两个表?

Google 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

我有两张桌子,它们自己可以很好地工作。在这里,我选择了与在我的主页上购买了东西的userID
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
的表。使用连接将使事情变得更容易。