一尘不染

ColdFusion:SQL从查询中选择IN

sql

我有一个SQL Server查询,该查询为一个MyBusinessUnit列返回两个值,并返回两个值,例如:

1111

2222

在名为 MyQuery1

这两个值也都存在于DB2数据库的MyCorpUnit列中。

我想要的是从DB2表中选择所有匹配的记录-而且,没有,跨数据库查询不起作用。

因此,这是我Query2的DB2数据库:

 <cfquery name="Query2" datasource="#application.DSN#"> 
  SELECT MyCorpUnit WHERE MyCorpUnit IN
  (    
     <cfqueryparam value="   #Query1.MyBusinessUnit #" CFSQLType="cf_sql_varchar" />
  )
 </cfquery>

但是Query2仅返回仅一个值的匹配记录(1111)。

因此,需要其他一些方法。我试图创建一个字符串,但是也没有用。

任何的想法?

谢谢!


阅读 150

收藏
2021-03-08

共1个答案

一尘不染

cfqueryparam具有一个 列表 属性,该属性可能会有所帮助:

<cfqueryparam value = "parameter value" 
        CFSQLType = "parameter type" 
        list = "yes|no" 
        maxLength = "maximum parameter length" 
        null = "yes|no" 
        scale = "number of decimal places" 
        separator = "separator character"> 
    AND/OR ...additional criteria of the WHERE clause...>

我以前使用过它,但是不确定它是否在QoQ中。:D

参考:http
:
//help.adobe.com/zh_CN/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f6f.html

2021-03-08