2016-05-24 111 views
0

我在BQ中有以下查询。基本上我有3个表格(用户,产品和访问),我想在日期进行加入。在bigquery的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

在空中拍摄,但 - 试试下面

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 JOIN的VS [INNER] JOIN

+0

我只得到准确的访问人数。不是数量和用户 – sam123

+0

我很高兴你至少有跑步和生产的结果 - 这是你的问题的主题。看起来像我们解决它。您仍然对我的问题看起来完全不同,我们无法通过交换意见来解决这个问题。相反,我会建议针对您的新问题发布具体的新问题。同时 - 我觉得你的原始问题得到了回答。如果你觉得同样的方式,你可以考虑至少投票,证明它帮助你并接受它。全部由你决定:o)如果我会看到新的问题 - 我很乐意再次帮助你 –