我有一个asp应用程序,它使用查询字符串值作为运行SQL query1的参数。该查询的结果将用于运行query2。
我如何将查询结果中的值传递给asp中的query2?
编辑:这两个表来自不同的数据库,具有不同的连接设置。
URL: www.website.com?ref=WO123
SQLQuery1: SELECT [valueA],[valueB] FROM TABLE1 WHERE [valueA] = WO123
SQLQuery2: SELECT [infoA],[infoB],[infoC] from TABLE2 WHERE [infoA] = [valueB]
asp
PWiseGIS.SelectCommand = string.Format(sqldb, SQLQuery1);
asp
PWiseGIS.SelectCommand = string.Format(sqldb, SQLQuery2); with [valueB]
您的第一个SQL语句过多 - 您应该能够这样做:
select infoA, infoB, infoC from table2 where infoA = (
select valueB from table1 where valueA = W0123
)
假设内部select语句返回单个值
我建议使用exists
:
SELECT t2.[infoA], t2.[infoB], t2.[infoC]
FROM TABLE2
WHERE EXISTS (SELECT 1
FROM TABLE1 t1
WHERE t1.[valueB] = t2.[infoA] AND
t1.valueA = 'W0123'
);
即使TABLE1
上的查询返回多行,这也会起作用。