0

假设我有以下表格

sqlite> SELECT * FROM Artists;
ArtistID|ArtistName
1       |Peter Gabriel
2       |Bruce Hornsby
3       |Lyle Lovett
4       |Beach Boys
5       |Supernatural

sqlite> SELECT * FROM CDs;
CDID|ArtistID|Title              |Date
1   |1       |So                 |1984
2   |1       |Us                 |1992
3   |2       |The Way It Is      |1986
4   |2       |Scenes from the Southside|1990
5   |1       |Security           |1990
6   |3       |Joshua Judges Ruth |1992
7   |4       |Pet Sounds         |1966

我想做这种查询

sqlite>SELECT ArtistID as _id, ArtistName, Title FROM Artists, CDs WHERE Artists.ArtistID=CDs.ArtistID;  

我如何使用 AndroidSQLiteQueryBuilder类来使用它,我需要为我的 projectionMap 放置什么?

还是只使用类会更容易SQLiteDataBase

4

2 回答 2

0

如何使用 Android SQLiteQueryBuilder 类使用它

好吧,我只是使用rawQuery()on SQLiteDatabase,因为您知道 SQL 并且拥有 SQL。

如果有人用枪指着你的头强迫你使用SQLiteQueryBuilder,你的投影图可能是映射ArtistNameArtistNameorArtists.ArtistNameTitleto Titleor CDs.Title。我没有使用SQLiteQueryBuilder隐式(或显式)JOIN,部分原因是我只SQLiteQueryBuilder在编写内容提供程序时使用。

于 2010-10-22T11:42:26.063 回答
0

好的,我想通了。仍然必须对 where 语句进行硬编码。

projectionMap.put(ArtistID, ArtistID + " AS " + _ID);
projectionMap.put(Title, Title);
queryBuilder.setProjectionMap(projectionMap);
于 2010-10-23T03:15:33.673 回答