我在android
中有以下查询query =“SELECT docid as _id,”+ KEY_ID +“,”+ KEY_NAME +“,”+ “来自”+过滤器+ “where”+ KEY_SEARCH +“MATCH'”+ txt +“';”;
它从表中选择取决于过滤器
我想做的是让一个过滤器“all”从两个表中选择一个查询
我怎么能这样做? 感谢
答案 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]
。