Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL 1000+值和VBA_Sql_Excel_Vba_Oracle - Fatal编程技术网

SQL 1000+值和VBA

SQL 1000+值和VBA,sql,excel,vba,oracle,Sql,Excel,Vba,Oracle,我有300000个part_id要查询,因为SQL最多只能接受我在上面的SQL中创建的With and Union子句中的1000个值。是否有方法编写VBA以将select语句包装在excel中的零件id周围?我有excel中的零件Id列表。我愿意接受任何不会强迫我复制粘贴300次的建议。您可以对每个部分使用excel公式。 这是第一行的示例: WITH part_set AS ( select p.part_id from parts p whe

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

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

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)
创建第一个公式后,可以对所有行使用自动填充功能。
之后,您将收到一个所有选定值的列表

是否有原因使您无法将Excel中的值加载到Oracle中的表(可能是临时表)中,然后直接连接到该表或在in子句中使用该表?这将比以编程方式组装一个具有300000个文本部分id值的语句容易得多。
="select p.part_id from parts p where p.part_id in (" & $A1 & "," & $B1 & "," & $C1 & "," & $D1 & "," & $E1 & "," & $F1 & ")" & CHAR(10) & " union"