如何正确连接两个表?
How to join two tables properly?
我有两个 table 可以单独使用。在这里,我 select 我所有的流量来源对应于在我的主页上购买了东西的用户 ID 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
在我的第二个 table 我 select 满足特定条件的流量来源:
SELECT trafficSource.A, trafficSource.B, trafficSource.C
FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03')
WHERE trafficSource.source = 'specific criteria'
现在我想生成一个 table,其中包含有关所有 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 不知道你想要哪一个。 (即使值恰好相同,因为这就是您定义连接的方式。)改为 Select 'result.hits.transaction.BuyID'。
我有两个 table 可以单独使用。在这里,我 select 我所有的流量来源对应于在我的主页上购买了东西的用户 ID 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
在我的第二个 table 我 select 满足特定条件的流量来源:
SELECT trafficSource.A, trafficSource.B, trafficSource.C
FROM (TABLE_DATE_RANGE([25.ga_sessions_],TIMESTAMP('2015-09-03')
WHERE trafficSource.source = 'specific criteria'
现在我想生成一个 table,其中包含有关所有 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 不知道你想要哪一个。 (即使值恰好相同,因为这就是您定义连接的方式。)改为 Select 'result.hits.transaction.BuyID'。