игнорировать некоторые значения при вставке в выборку из SQL - PullRequest
1 голос
/ 18 марта 2010

Предположим, что у меня есть Таблица символов (Символ, Значение) и Таблица SymbolValues ​​(Символ, Значение), которая содержит список значений для символа. Как выбрать максимальные значения из таблицы SymbolValues ​​и вставить в таблицу символов. Например, таблица SymbolValues ​​имеет следующие значения

A 1
A 2
A 3
B 6
B 7

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

Возможно ли это с помощью вставки в оператор выбора.

Спасибо

Ответы [ 2 ]

5 голосов
/ 18 марта 2010

Примерно так:

insert into symbols(symbol,value)
  (select symbol, max(value) from symbolvalues group by symbol);
2 голосов
/ 18 марта 2010

Вы можете изменить ваш запрос на выборку так:

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)
...