将查询字符串值传递给query1,然后将另一个值表单query1传递给query2

问题描述 投票:1回答:2

我有一个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 asp.net
2个回答
0
投票

您的第一个SQL语句过多 - 您应该能够这样做:

select infoA, infoB, infoC from table2 where infoA = (
    select valueB from table1 where valueA = W0123
)

假设内部select语句返回单个值


0
投票

我建议使用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上的查询返回多行,这也会起作用。

© www.soinside.com 2019 - 2024. All rights reserved.