首页 > 解决方案 > SQL 1000+ 值和 VBA

问题描述

WITH
    part_set
    AS
        (
        select p.part_id from parts p where p.part_id in (1231,1235,67567,35,373,1000)
Union
        select p.part_id from parts p where p.part_id in (12345,1234,123,123455,1000)

我有 300,000 个要查询的 part_id,因为 SQL 最多只能接受 1000 个值,我在上面的 SQL 中创建了 With 和 Union 子句。有没有办法编写 VBA 来将 select 语句包装在 excel 中的部件 id 周围?我在 excel 中有零件 ID 的列表。我愿意接受任何不会强迫我复制和粘贴 300 次的建议。

标签: sqlexcelvbaoracle

解决方案


您可以对每个部分使用 excel 公式。这是第一行的示例:

="select p.part_id from parts p where p.part_id in (" & $A1 & "," & $B1 & "," & $C1 & "," & $D1 & "," & $E1 & "," & $F1 & ")" & CHAR(10) & " union"

创建第一个公式后,您可以对所有行使用自动填充功能。之后,您将收到所有选定的列表


推荐阅读