DCM数据传输的BigQuery匹配表查找

时间:2017-08-15 14:39:32

标签: google-bigquery double-click-advertising

使用DCM的Data Transfer v2,您可以在GCS中获得3个主要数据表:

  • p_activity_166401
  • p_click_166401
  • p_impression_166401

与许多匹配表一样:

  • p_match_table_advertisers_166401
  • p_match_table_campaigns_166401

表1:p_activity_166401

Row    | Event_time    | User_ID | Advertiser_ID  | Campaign_ID | 
------ | ------------- | ------- | -------------  | ----------- |
1      | 149423090566  | AMsySZa | 5487307        | 9638421     |
2      | 149424804284  | 2vmdsXS | 5487307        | 10498283    |

表2:p_match_table_advertisers_166401

Row    | Advertiser_ID  | Advertiser  | 
------ | -------------  | ----------- |
1      | 5487307        | Company A   |
2      | 5487457        | Company B   |

如何引用表2中表1中的值并从查询中返回表2中的值?

我想得到一个结果:

Row    | Advertiser  | User_ID     | 
------ | ----------  | ----------- |
1      | Company A   | AMsySZa     |
2      | Company A   | 2vmdsXS     |

一直在这里和网上搜索,我似乎无法找到关于如何跨表查找的明确参考,提前道歉这是一个非常简单的事情,我很想念:)

修改 因此,在正确的方向上轻推,我找到了JOIN功能......

SELECT
  *
FROM
  [dtftv2_sprt.p_activity_166401]
INNER JOIN
  [dtftv2_sprt.p_match_table_advertisers_166401]
ON
  [p_activity_166401.Advertiser_ID] = 
 p_match_table_advertisers_166401.Advertiser_ID]
LIMIT
  100;

错误:找不到字段'p_activity_166401.Advertiser_ID'。

这绝对是表格中的一个字段。

1 个答案:

答案 0 :(得分:1)

因此,此查询在创建包含其中所有数据的视图时效果很好。

SELECT
  *
FROM
  [dtftv2_sprt.p_activity_166401]
INNER JOIN
  [dtftv2_sprt.p_match_table_advertisers_166401]
ON
  dtftv2_sprt.p_activity_166401.Advertiser_ID = dtftv2_sprt.p_match_table_advertisers_166401.Advertiser_ID;

使用视图我现在可以运行较小的查询来提取我想要的数据。感谢你指导我正确的方向米哈伊尔·贝利安特。