1

我必须进入一个表来检索一个参数,然后回到同一个表来检索基于参数的数据。

<cfquery name = "selnm" datasource = "Moxart">
 select SelName from AuxXref 
 where Fieldname = <cfqueryparam value = "#orig#">
</cfquery>

<cfset selname = selnm.SelName>

<cfquery name = "fld" datasource = "Moxart">
select Fieldname, DBname from AuxXref 
where SelName = <cfqueryparam value = "#selname#">
</cfquery>

这可以在单个查询中完成吗?

4

2 回答 2

4

像这样的东西可能会满足您的要求。

select fieldname, DBname
from AuxXref
where selname in 
(select distinct selname
 from auxXref
 where fieldname = <cfqueryparam value = "#orig#">
)
and fieldname <> <cfqueryparam value = "#orig#">

如果子查询返回不止一行,而您只需要一行,那么您必须指定您想要哪一行。

于 2013-09-29T20:32:56.033 回答
2

您可以在一个查询中执行此操作,如下所示:

<cfquery name = "fld" datasource = "Moxart">
   select Fieldname, DBname, SelName from AuxXref 
   where SelName = <cfqueryparam value = "#orig#">
   AND FieldName = <cfqueryparam value = "#orig#"> 
</cfquery>
于 2013-09-29T14:14:41.633 回答