【问题标题】:Retrieve Data from SQL with input from table使用表中的输入从 SQL 中检索数据
【发布时间】:2020-10-13 15:37:35
【问题描述】:

我在 excel 中有一个表格,范围为:Sheets("Sheet1").Range("d4:d215")。这些数据类似于服务器中的PS.WELL。

从该表中,我想使用此代码检索数据(已加载其他 SQL 必备项,这只是主要代码):

strquery = "SELECT PS.WELL, PS.TYPE, PS.TOPSND " & _
    "FROM ISYS.PS PS " & _
    "WHERE PS.WELL = '" & Sheets("Sheet1").Range("D4:D215") "' AND (PS.TYPE = 'O' OR PS.TYPE = 'O_' OR PS.TYPE = 'GOW') " & _
    "ORDER BY PS.WELL"

不幸的是,它没有用。谁能帮助我如何编写代码,尤其是在“where”部分?

【问题讨论】:

    标签: sql vba datatable


    【解决方案1】:

    您必须遍历范围中的每个项目并将结果连接到一个字符串变量,以便内容看起来像这样

    'val1','val2','val3'
    

    然后您必须调整查询代码以使用 IN 运算符而不是 equals 运算符。假设字符串连接到一个名为 myrange 的变量。

    "WHERE PS.WELL IN (" & myrange & ") AND ...
    

    【讨论】:

    • 你能给我一个连接的例子吗?或者你想从上面的问题中为我输入一个吗?
    【解决方案2】:

    我已经解决了这个问题。关键是要实现SQL的2个功能:

    1. 读取和写入每个输入
    2. 计算每个输入的输出数量(一个输入可以有 0、1 或更多输出)。

    然后,只需使用过程调用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-20
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2012-07-12
      • 1970-01-01
      • 2017-07-09
      相关资源
      最近更新 更多