【问题标题】:ignore some values in insert into select from sql stament忽略insert into select from sql语句中的一些值
【发布时间】: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 语句。

谢谢

【问题讨论】:

    标签: sql select insert


    【解决方案1】:

    类似这样的:

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

    【讨论】:

    • 我认为你应该按符号分组
    【解决方案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)
    

    【讨论】:

    • 我认为你的意思是“AND v2.value > v.value”
    猜你喜欢
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多