0

Google BigQueryで2つの異なるテーブル(そのうちの1つはビュー)から2つの列にJOINを実行しようとしています。私は、このさまざまな方法を試してみましたが、ほとんど常にこのエラーを受け取った:すべてのヘルプははるかに高く評価されるだろうGoogle BigQueryでCloud Datalabに参加する

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 

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(レガシー)クエリです。

答えて

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]という2つのテーブルに加わるか、結合しようとしていますか?後者はテーブルでもありますか?あなたのコードは、[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 
関連する問題