1

I need to create / execute following SQL query in Parse Javascript SDK.

Select * form xyz table where xyz.username in [select username from users where gender = "male"];

Not able to figure out how to do this using Parse SDK , please help.

added code :

var gender = request.params.gender;
var users = [];
console.log(gender);
if(strcmp1(gender , "All") != 0)
{
    var genderQuery = new Parse.Query("User");
    genderQuery.equalTo("gender",gender);
    var scoreQuery = new Parse.Query("JournalEntry");

    scoreQuery.matchesKeyInQuery("userName", "username", genderQuery);
    scoreQuery.find({ 
        success: function(results) {
            for(j = 0; j < results.length ; j++)
            {
                var entry = results[j];
                users.push(entry.get("username"));
            }
            response.success(users);    
        }
    });
} 

Thanks Vishal

1 Answer 1

2

You can use matchesKeyInQuery

var maleQuery = new Parse.Query(Parse.User);
maleQuery.equalTo("gender", "male");

var xyzQuery = new Parse.Query("xyz");
xyzQuery.matchesKeyInQuery("username", "username", maleQuery);
xyzQuery.find({ 
  success: function(results) {

  }
});
Sign up to request clarification or add additional context in comments.

2 Comments

can you check the code i added ? it returns empty array even when there is reasonable data available in both tables
First try the genderQuery by itself and check if it returns any users. Then, try your scoreQuery with only find() to check if it returns any JournalEntry. Is it userName or username? Is it "User" or Parse.User?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.