0

我試圖在Google BigQuery中對來自兩個不同表格(其中一個是視圖)的兩列進行聯接。我曾嘗試多種方式,但最一貫收到此錯誤:通過Cloud Datalab加入Google BigQuery

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 *). 

這裏是我的SQL(傳統)查詢:

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 

任何幫助將非常感激。

回答

1

我認爲你要麼想是這樣的:

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 

//編輯:我剛纔那種錯過了,你是(後您的加入語句)加入表實際上並不似乎是一個表。你是否想加入或結合這兩個表:[fcm-dw:acquisition_bloomberg.blp_today]和[fcm-dw:acquisition_ciq]?後者甚至是一張桌子?您的代碼似乎表明存在另一個名爲:[fcm-dw:acquisition_ciq.ciq_company_stg]的表?

+0

後者實際上是在同一個表的視圖,這有助於雖然,謝謝。 –

0

首套你的工會成子選擇再加入結果

select ... 
FROM 
(select * from 
    [fcm-dw:acquisition_bloomberg.blp_today], 
    [fcm-dw:acquisition_ciq]) t 
JOIN 
    blp_today.security_ticker AS ticker 
相關問題