Learner Always
Learner Always

Reputation: 1936

How to retrieve data from multiple Parse.com Tables/Classes

I have two tables (Classes):

StudentInformation: with columns RollNumber, address, name, school StudentMarks : with columns RollNumber, Marks1, Marks2, Marks3

I've been able to save the data from a single form into these two simultaneously, but not getting a clue on how to put a query while retrieving into a listview or any other view something like

'return rows (from both tables together) where roll number = 1234' / 'return rows (from both tables together) where Marks2 > 50'

I'm using Parse.com backend for Android Kindly help Thanks

Upvotes: 3

Views: 3341

Answers (1)

cYrixmorten
cYrixmorten

Reputation: 7108

First, the UI aspect of showing in a ListView is provided by ParseQueryAdapter. https://parse.com/docs/android_guide#ui-queryadapter

Regarding the query, I do not think you can join tables in the way you want. Instead, you could create a pointer in StudentMarks to StudentInformation.

Then you can query something like:

ParseQuery<ParseObject> query = ParseQuery.getQuery("StudentMarks");
query.include('studentInformation'); // include the pointer to get StudentInformation
query.whereEqualTo("RollNumber", 1234);
query.whereGreaterThan("Marks2", 50);
... // perform query

In the results StudentInformation will be available like this:

List<ParseObject> objects; // the result from the query
ParseObject studentMark = objects.get(0); // example using first object
ParseObject studentInformation = studentMark.get("studentInformation");
String studentName = studentInformation.get("name");
String studentAddress = studentInformation.get("address");
... // etc

Alternatively you could also store a Relation of StudentMarks on StudentInformation, just to let you know that this is also an option, though I do not feel like it fits your current need as well as the solution presented above.

Upvotes: 7

Related Questions