0

Ich versuche, JOIN in zwei Spalten aus zwei verschiedenen Tabellen (eine davon ist eine Ansicht) in Google BigQuery zu tun. Ich habe dies zahlreiche Möglichkeiten versucht, aber haben diesen Fehler empfangen die konsequent:Bei Google BigQuery über Cloud Datalab teilnehmen

invalidQuery: 2.1 - 0.0: JOIN cannot be applied directly to a table union or to a table wildcard function. Consider wrapping the table union or table wildcard function in a subquery (e.g., SELECT *). 

Hier mein SQL ist (legacy) Abfrage:

SELECT 
    blp_today.beta_key, 
    blp_today.px_last, 
    blp_today.eqy_weighted_avg_px, 
    blp_today.created_date, 
    blp_today.security_ticker, 
    ciq_company_stg.ticker, 
    ciq_company_stg.ciq 
FROM 
    [fcm-dw:acquisition_bloomberg.blp_today], 
    [fcm-dw:acquisition_ciq] 
JOIN 
    blp_today.security_ticker AS ticker 
ON 
    blp_today.security_ticker = ciq_company_stg.ticker 
LIMIT 1000 

Jede Hilfe wäre sehr geschätzt.

Antwort

1

Ich denke, man entweder so etwas wie dies wollen:

SELECT * FROM(SELECT 
    beta_key, 
    px_last, 
    eqy_weighted_avg_px, 
    created_date, 
    security_ticker, 
FROM 
    [fcm-dw:acquisition_bloomberg.blp_today], 
    [fcm-dw:acquisition_ciq]) as a 
JOIN 
    blp_today.security_ticker AS ticker 
ON 
    a.security_ticker = ciq_company_stg.ticker 
LIMIT 1000 

// edit: Ich vermisste Art von früher, dass die Tabelle, die Sie (nach dem Join-Anweisung) schließen sich tatsächlich scheint nicht ein Tisch zu sein . Versuchen Sie, diesen beiden Tabellen beizutreten oder sie zu verbinden: [fcm-dw: acquisition_bloomberg.blp_today] und [fcm-dw: acquisition_ciq]? Und ist letzteres sogar ein Tisch? Ihr Code scheint anzuzeigen, dass eine andere Tabelle namens: [fcm-dw: acquisition_ciq.ciq_company_stg]?

+0

Letztere tatsächlich eine Ansicht der gleichen Tabelle ist, dies obwohl geholfen, danke. –

0

zuerst Ihre Vereinigung in eine Unter wickeln und wählen Sie dann das Ergebnis kommen

select ... 
FROM 
(select * from 
    [fcm-dw:acquisition_bloomberg.blp_today], 
    [fcm-dw:acquisition_ciq]) t 
JOIN 
    blp_today.security_ticker AS ticker 
Verwandte Themen