-1

我在android中有以下查询

query = "SELECT docid as _id," + KEY_ID + "," + KEY_NAME + "," + " from " + filter + " where " + KEY_SEARCH + " MATCH '" + txt + "';";

它从表中选择取决于过滤器

我想做的是有一个过滤器“全部”从两个表中选择一个查询

我该怎么做?谢谢

4

3 回答 3

1

请考虑使用 PreparedStatements ( http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html )。内联变量是允许 SQL 注入的好方法。

要回答您的问题,请使用内部连接(隐式或显式)。

于 2013-08-19T16:27:10.713 回答
0

简单的方法:

String sql = "SELECT ColumnName, ColumnAge FROM table1 SomeColumn= " + SomeValue + " UNION 
SELECT ColumnName, ColumnAge FROM table2 SomeColumn = " + SomeValue; 
Cursor c = db.rawQuery(sql, null); 
于 2013-08-19T16:24:30.257 回答
0

如果您将两个表放在一起并且它们具有相同的表结构,则可以将两者与

SELECT * FROM filter1 UNION SELECT * FROM filter2

如果这两个表没有相同的模式并且没有以键关系链接,那么尝试这样做没有任何意义。

如果它们没有完全相同的架构但它们有共同的列,那么您可以将两者中的替换SELECT *SELECT [col1],[col2]

于 2013-08-19T16:28:33.760 回答