在bigquery中加入3个表

时间:2016-05-24 20:31:42

标签: google-bigquery

我在BQ中有以下查询。基本上我有3个表(用户,产品和访问),我想在日期进行加入。

SELECT
  product.Date,
  SUM(product.quantity) AS quantity,
  SUM(users.Users) AS users,
  SUM(visitsdata.Visits) AS visits
FROM (
  SELECT
    product.Date,
    product.product,
    users.date,
    users.Users,
    visitsdata.Visits
  FROM
    [Testdata.productsold] AS product
  JOIN
   [Testdata.userswithpurchase] AS users
  ON
    product.Date=users.date) AS usersproduct
JOIN
  [Testdata.visits] visitsdata
ON
  usersproduct.Date= visitsdata.date
GROUP BY
  product.Date

我不是编写查询的专家,但有人可以告诉我我的查询有什么问题吗?

由于

1 个答案:

答案 0 :(得分:1)

在空中拍摄,但是 - 请尝试以下

SELECT
  [Date],
  SUM(quantity) AS quantity,
  SUM(Users) AS users,
  SUM(Visits) AS visits
FROM (
  SELECT
    product.Date AS [Date],
    product.quantity AS quantity,
    users.Users AS Users,
    visitsdata.Visits AS Visits
  FROM [Testdata.productsold] AS product
  JOIN [Testdata.userswithpurchase] AS users
    ON product.Date=users.date
  JOIN [Testdata.visits] visitsdata
    ON product.Date= visitsdata.date
) AS usersproduct
GROUP BY 1

取决于您的数据的性质 - 您可以考虑LEFT JOINs与[INNER] JOIN