从两个表中选择

时间:2013-08-19 16:18:07

标签: android sql sqlite

我在android

中有以下查询
  

query =“SELECT docid as _id,”+                       KEY_ID +“,”+                       KEY_NAME +“,”+                       “来自”+过滤器+                       “where”+ KEY_SEARCH +“MATCH'”+ txt +“';”;

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

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

我怎么能这样做? 感谢

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

简单的方法:

String sql = "SELECT ColumnName, ColumnAge FROM table1 SomeColumn= " + SomeValue + " UNION 
SELECT ColumnName, ColumnAge FROM table2 SomeColumn = " + SomeValue; 
Cursor c = db.rawQuery(sql, null); 

答案 2 :(得分:0)

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

SELECT * FROM filter1 联盟 SELECT * FROM filter2

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

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