2016-02-16 2 views
0

Я хочу вставить в таблицу, используя оператор select, а также уникальное значение. Следующий запрос возвращает ошибку, которая не соответствует совпадению столбцов. Что мне не хватает?Вставка с подзапросом и уникальным значением

insert into moving_average (ma_symbol, ma_date, ma5) 
values 
(
     select 'A', max(temp.histDate), avg(temp.histClose) 
     from 
     (
      select hd.histDate, hd.histClose 
      from historical_data hd 
      where symbol like 'A' order by hd.histDate asc limit 5 
     ) temp 
); 

ответ

0

Попробуйте это:

insert into moving_average (ma_symbol, ma_date, ma5) 
select 'A', max(histDate), avg(histClose) 
from (select (histDate), (histClose) 
     from historical_data 
     where symbol like 'A' 
     order by histDate asc 
     limit 5) temp; 

INSERT INTO ... SELECT оператор не использует VALUES ключевое слово.

+0

Это происходит с ошибкой: Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'select' A ', max (histDate), avg (histClose) from (select (histDate) ", по строке 3 – HenryDavidThe3rdest

+0

@ HenryDavidThe3rdest Проверить изменение I сделанный, должен работать сейчас. –

Смежные вопросы