2016-10-20 4 views
0
Table A 
---------------- 
Date index 
------------------ 
2016-10-20 2.3 
2016-10-21 2.8 
-------  --- 
-------  --- 


Table B: 
-------- 
Code Life_completed 
A  5 
b  6 

Фактический запрос:SQL: Subquery вопрос

select *,(select sum(index) 
      from table1 
      where date between current_date +3 AND current_date 
     ) as Index 
from table b 

Ожидаемые запросы: Можно ли заменить CURRENT_DATE +3 с current_date +Life_completed

Мы используем базу данных Vertica ..

Пожалуйста, помогите здесь ..

+0

Просим вас пометить базу данных – NzGuy

+0

Вы попробовали заменить его? Он должен работать (конечно, вы должны переключать значения, используемые между ними). ​​ – dnoeth

+0

@dnoeth: Да, я попытался .. Получить некоторую ошибку..Коррелированный столбец подзапроса в select/gby/oby не поддерживается –

ответ

0

Этот коррелированный подзапрос такой же, как и левый Jo в плюс плюс:

select b.Code, b.Life_completed, 
    sum(a.index) as Index 
from tableB b 
left join tableA as a 
    on a.date between current_date AND current_date + B.life_completed