【发布时间】:2010-03-18 15:16:00
【问题描述】:
假设我有一个表符号(符号,值)和一个表符号值(符号,值),其中包含符号值的列表。 如何从 SymbolValues 表中选择最大值并插入到 Symbols 表中。 例如,SymbolValues 表具有以下值
A 1
A 2
A 3
B 6
B 7
那么只有 A 3 和 B 7 应该被插入到 Symbols 表中。
这是否可以使用 insert into select 语句。
谢谢
【问题讨论】:
假设我有一个表符号(符号,值)和一个表符号值(符号,值),其中包含符号值的列表。 如何从 SymbolValues 表中选择最大值并插入到 Symbols 表中。 例如,SymbolValues 表具有以下值
A 1
A 2
A 3
B 6
B 7
那么只有 A 3 和 B 7 应该被插入到 Symbols 表中。
这是否可以使用 insert into select 语句。
谢谢
【问题讨论】:
类似这样的:
insert into symbols(symbol,value)
(select symbol, max(value) from symbolvalues group by symbol);
【讨论】:
您可以将您的选择查询修改为:
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)
【讨论】: