2016-05-24 9 views
0

Ich habe die folgende Abfrage in meinem BQ. Grundsätzlich habe ich 3 Tabellen (Benutzer, Produkt und Besuche), und ich versuche, ein Beitrittsdatum zu machen.Bei 3 Tabellen in bigquery teilnehmen

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 

Ich bin kein Experte in Abfrage schreiben, aber kann mir bitte jemand sagen, was ist los mit meiner Abfrage?

Dank

Antwort

1

in der Luft schießen, aber - Versuchen unter

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 

Abhängig von Art Ihrer Daten - Sie LEFT JOIN vs [INNER] JOIN betrachten kann

+0

ich nur immer die genaue Anzahl für die Besuche. Nicht für Menge und Benutzer – sam123

+0

Ich bin froh, dass Sie es zumindest laufen lassen und Ergebnis produzieren - das war das Thema Ihrer Frage. sieht so aus, als hätten wir es angesprochen. Das Problem, das Sie immer noch haben, sieht für mich völlig anders aus und wir werden es nicht im Austausch von Kommentaren angehen können. Ich würde eher empfehlen, neue Fragen zu Ihrem neuen Problem mit entsprechenden Details zu veröffentlichen. Inzwischen - ich fühle, dass Ihre ursprüngliche Frage beantwortet wird. Wenn du dich so fühlst, kannst du zumindest darüber abstimmen, wie es dir geholfen hat und es akzeptierte. ganz bei dir: o) wenn ich eine neue frage sehe - ich werde dir gerne wieder helfen –