2012-10-18 14 views
11

Ho un grande tavolo Utente e un tavolino User_purchase in google bigquery.L'unione sinistra non riesce se non si utilizza esplicitamente ISNULL

Se mi unisco l'errore due con

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

la query restituisce:

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

Ma se mi unisco i due con

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

la query funziona.

non capisco il motivo per cui il primo caso non funziona. Suppongo che nel primo caso potrò ottenere tutti gli utenti con il loro purchase_amount anche se alcuni utenti avranno NULL come loro purchase_amount. Grazie.

+0

si può aggiungere qualche informazione in più? Come che tipo di server SQL (suppongo tu stia usando MS Sql Server, ma non ne sono sicuro al 100%). Anche Sto assumendo l'User.id e User_purchase.user_id sono entrambi interi, potete confermare? –

+0

È google bigquery. Sì, numeri interi. – greeness

+0

Grazie Jordan, non vedo l'ora di ottenere i risultati dell'indagine. – greeness

risposta

4

questo un bug relativo ai nomi dei campi annidati nelle risposte di query. Ho una soluzione per l'errore ma non uscirà fino alla prossima settimana. Grazie per averlo portato alla nostra attenzione.

+0

Grazie per la risposta immediata! Puoi aggiornare quando viene rilasciata la correzione? Grazie. – greeness

+0

Dovrebbe essere disponibile ora. Facci sapere se continui ad avere problemi. –

+0

Problema risolto. Grazie! – greeness

Problemi correlati