2013-10-30 29 views
0

这似乎是一个简单的在我已经做了无数次的亚马逊红移加入,但它给了我下面的错误:SQL JOIN没有结果误差在亚马逊红移

“没有结果查询返回。 [SQL状态= 02000]”

这里是SQL:

select 
    campaign_id as product_campaign_id, 
    count(*) as sends 
into table_1 
from customer_to_product_campaign 
group by 
    product_campaign_id 
; 

select 
    product_campaign_id, 
    count(*) as opens_total 
into table_2 
from product_action_oc 
where 
    product_action_type_paid = 'open' 
group by 
    product_campaign_id 
; 

select 
    t1.product_campaign_id, 
    t1.sends, 
    t2.opens_total  
into table_3 
from table_1 t1 
left join table_2 t2 
on t1.product_campaign_id = t2.product_campaign_id 

; 

附加信息:
-table 1(它是没有误差产生)是〜6K行
-table 2(这是没有错误产生)是〜10K行
-the表也存在着共同product_campaign_id的,而不是它应该的问题

感谢

回答

0

这不是一个错误,只是一个友好的红移通知,没有结果返回到GUI。基本上,into声明吸收了所有的结果,所以没有任何回报。

这里是一个例子。考虑:

select * 
into dum 
from (select 1 as col) t; 

这将返回相同的通知。但数据在那里。只要做:

select * 
from dum; 

看到刚刚插入的一行。

(注意:我刚刚在Red Shift上测试过这个)。

+0

你完全没错!谢谢!奇怪的是,客户端的行为就像是一个错误(我认为它之前没有这样做),并且它声明这是一个错误,'执行SQL命令时发生错误:没有结果返回查询。 [SQL状态= 02000]'。我之前做过这么多次加入,我95%确定没有给我这个信息。但正如你所指出的那样,它是有效的。再次感谢。 – Elm