【发布时间】:2013-09-03 13:42:43
【问题描述】:
我有两个查询。一个来自一个数据库,一个来自另一个。
第二个查询使用第一个查询的数据作为表。 (这是我需要知道的)
查询比示例更复杂,但我试图使其简单。示例如下:
DataTable dt = new DataTable();
OdbcConnection myConnection = salesConnection();
myConnection.Open();
OdbcCommand selectCMD = new OdbcCommand("SELECT CUSTOMER.CUSTOMER_NBR " +
"FROM CUSTOMER", myConnection);
OdbcDataAdapter cmd = new OdbcDataAdapter();
cmd.SelectCommand = selectCMD;
cmd.Fill(dt);
myConnection.Close();
DataTable dtM = new DataTable();
myConnection = mConnection();
myConnection.Open();
selectCMD = new OdbcCommand("SELECT '**DATA TABLE ABOVE**'.CUSTOMER_NBR " +
"FROM '**HOW TO I REFERENCE THE DATA TABLE ABOVE**'",
myConnection);
cmd = new OdbcDataAdapter();
cmd.SelectCommand = selectCMD;
cmd.Fill(dtM);
myConnection.Close();
【问题讨论】:
-
第一个查询返回单个
CUSTOMER_NBR还是多个?通常,在第二个命令中使用从第一个表的行设置的参数(如果它包含多行,则可以使用 lop)。 -
如果您需要使用第一个查询中的数据,为什么不将其合并到您的第二个?
-
它返回一个客户姓名和号码的大列表(对于这个例子,一个大的数字列表)。用垂耳吗?没听说过。
-
huMpty duMpty,因为它们不是来自同一个数据库,它们需要两个不同的连接字符串来获取数据
-
我以为我删除了我的答案。哈哈。我不认为你可以做你的要求,因为 sql 不理解 .net 数据表。您必须使用数据表中的数据构建您的 sql。如果 huMpty duMpty 问题的答案是正确的,那么解决方案比您想象的要容易,他可以提供帮助