0

我一直在做研究,找不到使用一个查询从多个表中获取数据的方法。我想要实现的是从 Access 数据库中的一个表中获取信息,并使用该信息从同一数据库中的不同表中获取更多数据

这是我到目前为止的代码......

                string end = "ENDDATE";
                string qual = "CGA0113";
                string start = "START";

                ad.SelectCommand = new OleDbCommand("SELECT* FROM [AC_ECONOMIC] Where KEYWORD = '" + end + "'AND QUALIFIER = '" + qual + "' AND EXPRESSION LIKE 'SN%'", con);

我希望能够从一个名为 AC_PROPERTY 的单独表中获取数据,该表具有相同的 SN,来自该 AC_ECONOMIC 表的上述查询。我正在研究连接并相信这是要走的路,但我不太确定语法,或者它是否可行。任何帮助将不胜感激。

4

1 回答 1

1

正确,内部连接将是要走的路。您基本上需要构造一个语句,通过它们的公共字段连接 2 个表。像这样的东西:

SELECT * FROM [AC_ECONOMIC] a
INNER JOIN [AC_PROPERTY] b
on [AC_ECONOMIC].SN=[AC_PROPERTY].SN   
Where KEYWORD = '" + end + "'AND QUALIFIER = '" + qual + "' AND EXPRESSION LIKE 'SN%'

上面的陈述只是一个例子。我不知道这两个表之间的公共列是否实际上称为“SN”。

更新:

正如@Geek 所建议的那样,您还可以在语句中引用它们之后给表起别名,这样您就不必每次都输入完整的表名。例如,上面的语句也可以写成:

SELECT a.*, b.* FROM [AC_ECONOMIC] a
INNER JOIN [AC_PROPERTY] b
on a.SN=b.SN   
Where a.KEYWORD = '" + end + "'AND a.QUALIFIER = '" + qual + "' AND b.EXPRESSION LIKE 'SN%' 

请注意 WHERE 子句如何使用来自“a”(AC_ECONOMIC)和 b(AC_PROPERTY)的列进行过滤。

于 2013-07-23T14:40:52.003 回答