2010-03-18 5 views
1

Предположим, что у меня есть символы таблицы (символ, значение) и таблица SymbolValues ​​(символ, значение), которая содержит список значений для символа. Как выбрать максимальные значения из таблицы SymbolValues ​​и вставить в таблицу символов. Например, SymbolValues ​​таблица имеет следующие значенияигнорировать некоторые значения в insert в select from sql stament

A 1 
A 2 
A 3 
B 6 
B 7 

Только тогда А 3 и В 7 должны быть вставлены в таблицу символов.

Возможно ли это, используя insert в select statement.

Благодаря

ответ

5

Что-то вроде этого:

insert into symbols(symbol,value) 
    (select symbol, max(value) from symbolvalues group by symbol); 
+2

Я думаю, вы должны группа символом – BobbyShaftoe

+0

@BobbyShaftoe да, курс; Я исправлю пример –

2

Вы можете изменить свой запрос на выборку, чтобы быть что-то вроде:

SELECT v.symbol, v.value 
FROM SymbolValues v 
WHERE NOT EXISTS (SELECT * FROM SymbolValues v2 WHERE v2.symbol = v.symbol AND v2.value > v.value) 
+0

Я думаю, вы имеете в виду «И v2.value> v.value» –

+0

@ Давид Гельхар, да, спасибо. :) – BobbyShaftoe

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