Tôi đang cố gắng tìm ra cách tốt nhất để thực hiện một bảng đơn giản tham gia trên hai bảng của tôi bằng cách sử dụng cơ sở dữ liệu sqlite trong một ứng dụng Android. Cách đơn giản nhất để sử dụng CursorJoiner hoặc có cách nào dễ dàng hơn không?Cách tốt nhất để tham gia các bảng bằng cách sử dụng sqlite trong android
Trả lời
Trong việc thực hiện SQLiteDatabase và SQLiteQueryBuilder bạn sẽ thấy rằng nó có thể vượt qua các bảng bạn muốn tham gia vào table
đối số của query
mặc dù các tài liệu ngụ ý nó sẽ chỉ mất một tên duy nhất của một bảng. Tài liệu cho SQLiteQueryBuilder rõ ràng hơn và thậm chí còn gợi ý những thứ như foo, bar
hoặc foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id)
.
các liên kết bị hỏng – ytg
Nếu bạn sẵn sàng để sử dụng thư viện của bên thứ ba, tôi khuyên bạn nên sử dụng Active Android
https://github.com/pardom/ActiveAndroid
sử dụng nó, bạn có thể hợp nhất bảng như thế này
From query = new Select()
.from(Foo.class)
.innerJoin(Bar.class)
.on("Foo.Id=Bar.Id");
bạn thậm chí có thể nhận được con trỏ quay lại để sử dụng trong bộ nạp
Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments());
chi tiết khác here
- 1. Cách tối ưu để tham gia ba bảng trong SQLite
- 2. Cách tốt nhất để tham gia 2 bảng sử dụng hibernate
- 3. Tham gia các bảng trong android
- 4. Cách tốt nhất để thực hiện Tham gia bên trong bằng khung công tác Zend?
- 5. Hibernate bên trong tham gia bằng cách sử dụng hql
- 6. Cách tốt nhất để tham gia vào Linq
- 7. Làm cách nào để tạo một UPDATE khi tham gia các bảng trên SQLite?
- 8. Thực hành tốt nhất để tham gia các bảng và thông báo cho ContentObservers trong Android ContentProvider
- 9. Việc tham gia tương tự bằng cách sử dụng Hadoop
- 10. Cách tốt nhất để đọc các tham số dòng lệnh trong ứng dụng bảng điều khiển
- 11. Cách tốt nhất/ngắn nhất để tham gia danh sách trong CMake
- 12. Làm cách nào để sử dụng JPQL để xóa các mục nhập khỏi bảng tham gia?
- 13. Làm cách nào để chọn từ một bảng trong jOOQ bằng cách sử dụng truy vấn có tham gia?
- 14. SQLITE - xóa các hàng có tham gia bên trong?
- 15. Làm cách nào để bạn tham gia hai bảng trên trường khóa ngoài bằng cách sử dụng django ORM?
- 16. Tôi có thể tham gia nhiều bảng SQL bằng cách sử dụng ID như thế nào?
- 17. Cách tốt nhất để hiển thị ASCII trong lưới bằng các bảng bằng Java là gì?
- 18. SQLite tham gia tối ưu hóa
- 19. Làm cách nào để tạo tham gia bằng cách sử dụng 'lớn hơn' và 'nhóm theo'?
- 20. Tham gia hai bảng không liên quan bằng cách sử dụng JPA EntityManager
- 21. MySQL cách tham gia các bảng trên hai trường
- 22. Java: Cách tốt nhất để chuyển int bằng tham chiếu
- 23. Cách tốt nhất để lấy id được chèn cuối cùng bằng cách sử dụng sqlite từ Java là gì?
- 24. Cách tốt nhất để kết nối và sử dụng cơ sở dữ liệu sqlite từ C#
- 25. Tham gia các bảng hoặc để chọn từ nhiều bảng
- 26. Tham gia SQLite trong các bảng cơ sở dữ liệu nhúng
- 27. Cách tham gia cùng một bảng trong sqlalchemy
- 28. Cách tốt nhất để tạo thuật sĩ bằng cách sử dụng các điều khiển WPF gốc
- 29. Tham gia bên trong SQLite/JDBC
- 30. Cách tốt nhất để nhận các thuộc tính phụ bằng cách sử dụng GetProperty
Tốt hơn để làm điều này trong SQL. Tạo [VIEW] (http://www.sqlite.org/lang_createview.html) bằng [JOIN] (http://www.sqlite.org/lang_select.html) s cần thiết. – yanchenko
Tôi đã cố gắng để làm điều đó nhưng đã có vấn đề nhận được dự án của tôi để nhận ra nó vì một lý do nào đó. –
http://stackoverflow.com/a/4957197/334270 –