Sqlite Double Inner加入sql.query语句

时间:2015-04-13 15:36:23

标签: java android sqlite

我有以下原始SQL语句,但我不想使用sql.rawquery我想知道如何在Android的SQL.Query语句表单中执行此操作。

String NewSqlstatement =  
    "SELECT "+
       "LOCATIONS_TABLE.LocationWebsiteID, "+
       "LOCATIONS_TABLE.locationCity, "+
       "LOCATIONS_TABLE.locationState, "+
       "LOCATIONS_TABLE.locationCountry, "+
       "LOCATIONS_TABLE.locationUrl, "+
       "LOCATIONS_TABLE.LocationID, "+
       "PREF_TABLE.Pref_SavedTitle, "+
       "WEBSITECATEGORY_TABLE.WBLinkTitle, "+
       "WEBSITECATEGORY_TABLE.WBLinkURL "+
     "FROM "+
       "PREF_TABLE "+
     "INNER JOIN "+
       "LOCATIONS_TABLE "+
     "ON "+
       "PREF_TABLE.Pref_LocationID = LOCATIONS_TABLE.LocationID "+
     "INNER JOIN "+
       "WEBSITECATEGORY_TABLE "+
     "ON "+
       "WEBSITECATEGORY_TABLE.WBLinkWebsiteID = PREF_TABLE.Pref_WebsiteID "+
     "WHERE "+
       "PREF_TABLE.Pref_SavedTitle = 'blah'";

我想知道如何在SQL.QUERY中执行此操作,而不是SQL.RAWQUERY ....我知道sql.query的格式并且我已经多次使用它了,我只是不知道&# 39;知道如何进行双内连接

另外,你是如何向某人试图学习新东西的呢?

2 个答案:

答案 0 :(得分:1)

i do NOT want to use an sql.rawquery - 为什么

您的rawQuery()问题在这里:

"PREF_TABLE.Pref_SavedTitle = '?'"; 

您必须从绑定参数中删除'
由于Android自动处理绑定参数

所以,请留下

"PREF_TABLE.Pref_SavedTitle = ?";

答案 1 :(得分:1)

我认为SQLiteQueryBuilder就是你想要的。以下是内连接用法的一个示例:

http://androidopentutorials.com/android-sqlite-join-multiple-tables-example/