Mam dużą tabelę Użytkownik i małą tabelę User_purchase w bigówce Google.Łączenie z lewej strony kończy się niepowodzeniem, jeśli nie jest jawnie używane ISNULL
Jeśli łączę te dwa z
SELECT User.id, User_purchase.amount FROM User
LEFT JOIN User_purchase on User.id = User_purchase.user_id,
kwerenda zwraca błąd:
Query Failed. Error: Not Implemented: This table cannot be read
Ale jeśli łączę dwa działa z
SELECT User.id, ISNULL(INTEGER(User_purchase.amount), INTEGER(0)) FROM User
LEFT JOIN User_purchase on User.id = User_purchase.user_id,
zapytanie.
Nie do końca rozumiem, dlaczego pierwszy przypadek nie działa. Zakładam, że w pierwszym przypadku mogę uzyskać wszystkich użytkowników z ich wartością zakupu, chociaż niektórzy użytkownicy będą mieli NULL jako wartość jego purchase_amount. Dzięki.
Czy możesz dodać więcej informacji? Jak na przykład serwer sql (domyślam się, że używasz MS Sql Server, ale nie jestem w 100% pewny). Zakładam też, że User.id i User_purchase.user_id są zarówno ints, czy możesz potwierdzić? –
To jest Google BigQuery. Tak, liczby całkowite. – greeness
Dzięki Jordan, czekamy na Twój wynik badania. – greeness