2012-10-18 3 views
11

Ich habe eine große Tabelle Benutzer und eine kleine Tabelle User_purchase in google bigquery.Linke Join schlägt fehl, wenn nicht explizit mit ISNULL

Wenn ich die beiden mit

SELECT User.id, User_purchase.amount FROM User 
    LEFT JOIN User_purchase on User.id = User_purchase.user_id, 

die Abfrage Fehler kommen:

Query Failed. Error: Not Implemented: This table cannot be read

Aber wenn ich die beiden mit

SELECT User.id, ISNULL(INTEGER(User_purchase.amount), INTEGER(0)) FROM User 
    LEFT JOIN User_purchase on User.id = User_purchase.user_id, 

die Abfrage funktioniert verbinden.

Nicht ganz verstehen, warum der erste Fall nicht funktioniert. Ich gehe davon aus, dass ich im ersten Fall alle Benutzer mit ihrem Kaufbetrag erreichen kann, obwohl einige Benutzer NULL als ihren Kaufbetrag haben. Danke.

+0

Können Sie weitere Informationen hinzufügen? Wie die Art von SQL-Server (ich vermute, Sie verwenden MS SQL-Server, aber ich bin mir nicht 100% sicher). Auch ich nehme an, dass die User.id und User_purchase.user_id beides sind, können Sie bestätigen? –

+0

Es ist google bigquery. Ja, ganze Zahlen. – greeness

+0

Danke Jordan, wir freuen uns auf Ihr Untersuchungsergebnis. – greeness

Antwort

4

Dies ist ein Fehler in Bezug auf verschachtelte Feldnamen in Abfrageantworten. Ich habe eine Lösung für den Bug, aber es wird erst in der nächsten Woche veröffentlicht. Danke, dass Sie uns darauf aufmerksam gemacht haben.

+0

Danke für die sofortige Antwort! Können Sie bitte aktualisieren, wenn das Update veröffentlicht wird? Vielen Dank. – greeness

+0

Sollte jetzt verfügbar sein. Lassen Sie uns wissen, wenn Sie weiterhin Probleme haben. –

+0

Problem gelöst. Vielen Dank! – greeness